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
This commit is contained in:
David Robillard 2007-12-18 06:05:55 +00:00
parent 0e31c56591
commit 35fc31a1de
1550 changed files with 362440 additions and 73136 deletions

View file

@ -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:

View file

@ -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)

View file

@ -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

View file

@ -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);

View file

@ -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

View file

@ -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
*

File diff suppressed because it is too large Load diff

View file

@ -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>

View file

@ -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
;; From /opt/gnome218/include/glib-2.0/glib/gutils.h
(define-flags-extended ParamFlags
(define-enum-extended UserDirectory
(in-module "G")
(c-name "GParamFlags")
(c-name "GUserDirectory")
(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
(define-flags-extended ModuleFlags
(in-module "G")
(c-name "GModuleFlags")
(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")
)
)

File diff suppressed because it is too large Load diff

View file

@ -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.

View file

@ -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 *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;
@ -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();

View file

@ -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
*/

View file

@ -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);
g_option_context_set_translate_func(
gobj(), &Private::SignalProxy_translate_gtk_callback, slot_copy,
&Private::SignalProxy_translate_gtk_callback_destroy);
}
} // namespace Glib

View file

@ -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_;

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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
*

View file

@ -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
*

View file

@ -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

View file

@ -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