diff --git a/db/db-iterator.c b/db/db-iterator.c
index a11f28d..fb52078 100644
--- a/db/db-iterator.c
+++ b/db/db-iterator.c
@@ -346,29 +346,27 @@ gboolean db_iterator_move_last (DbIterator * self)
gboolean db_iterator_move_previous (DbIterator * self)
{
DbIter * self_iter;
+ gboolean move = FALSE;
DB_ITERATOR_GET_INTERFACE (self)->get_iter (self, &self_iter);
if (self_iter)
{
- gboolean ret = FALSE;
DbIter * iter = db_iter_copy (self_iter);
DbModel * model = GET_MODEL (self);
if (db_model_iter_prev (model, iter))
- ret = db_iterator_move_iter (self, iter);
+ move = db_iterator_move_iter (self, iter);
else
- g_warning (
- "Can't move the cursor to the previous "
- "row, because there are no more rows."
- );
+ g_warning ("Can't move the cursor to the previous "
+ "row, because there are no more rows.");
db_iter_free (iter);
-
- return ret;
}
else
- return db_iterator_move_first (self);
+ move = db_iterator_move_first (self);
+
+ return move;
}
/**
@@ -383,29 +381,27 @@ gboolean db_iterator_move_previous (DbIterator * self)
gboolean db_iterator_move_next (DbIterator * self)
{
DbIter * self_iter;
+ gboolean move = FALSE;
DB_ITERATOR_GET_INTERFACE (self)->get_iter (self, &self_iter);
if (self_iter)
{
- gboolean ret;
DbIter * iter = db_iter_copy (self_iter);
DbModel * model = GET_MODEL (self);
if (db_model_iter_next (model, iter))
- ret = db_iterator_move_iter (self, iter);
+ move = db_iterator_move_iter (self, iter);
else
- g_warning (
- "Can't move the cursor to the next "
- "row, because there are no more rows."
- );
+ g_warning ("Can't move the cursor to the next "
+ "row, because there are no more rows.");
db_iter_free (iter);
-
- return ret;
}
else
- return db_iterator_move_last (self);
+ move = db_iterator_move_last (self);
+
+ return move;
}
/**
@@ -552,7 +548,7 @@ const GValue * db_iterator_get_value (DbIterator * self, const gchar * column_na
/**
* db_iterator_set_value:
* @self: a #DbIterator
- * @column: the column name.
+ * @column_name: the column name.
* @value: a #GValue with the new value.
* @err: (out) (allow-none): the return location for a #GError or %NULL.
*
diff --git a/db/db-model.c b/db/db-model.c
index 196f02c..f7dbf95 100644
--- a/db/db-model.c
+++ b/db/db-model.c
@@ -61,7 +61,6 @@ struct _DbModelPrivate
DbModelStatus status;
gboolean autoload;
gint stamp;
- DbRow * null_row;
GHashTable * defaults;
@@ -127,7 +126,6 @@ typedef struct
{
gint col;
gint order;
- DbRow * null_row;
}
SortInfo;
@@ -848,22 +846,11 @@ static gint db_model_value_compare0 (const GValue * a, const GValue * b)
static inline gint db_model_valcmp (gpointer * a, gpointer * b, SortInfo * info)
{
- gint order;
+ gint dir = info->order == DB_SORT_ASCENDING ? 1 : -1;
DbRow * first = *a;
DbRow * second = *b;
- if (first == info->null_row)
- order = -1;
- else if (second == info->null_row)
- order = 1;
- else
- {
- gint dir = info->order == DB_SORT_ASCENDING ? 1 : -1;
- order = dir * db_model_value_compare0 (&first->value[info->col]
- ,&second->value[info->col]);
- }
-
- return order;
+ return dir * db_model_value_compare0 (&first->value[info->col], &second->value[info->col]);
}
static void db_model_set_status (DbModel * self, DbModelStatus status)
@@ -1828,9 +1815,6 @@ void db_model_set (DbModel * self, DbIter * iter, ...)
g_return_if_fail (DB_IS_MODEL (self));
g_return_if_fail (self->priv->result);
g_return_if_fail (iter != NULL);
-
- if (iter->data == self->priv->null_row)
- return;
va_start (va, iter);
@@ -1923,11 +1907,6 @@ gboolean db_model_set_value (DbModel * self, DbIter * iter, gint col, const GVal
GvnParamSpec * spec = priv->column[col].spec;
g_return_val_if_fail (0 <= col && col < priv->result->ncols, FALSE);
-
- if (iter->data == self->priv->null_row)
- {
- return FALSE;
- }
if (!gvn_param_spec_validate (spec, value, err))
return FALSE;
@@ -2078,9 +2057,6 @@ void db_model_delete (DbModel * self, DbIter * iter)
return;
}
- if (iter->data == self->priv->null_row)
- return;
-
if (!db_model_set_row_operation
(self, g_ptr_array_index (self->priv->data, DB_ROW_POSITION (iter->data)),
DB_MODEL_ROW_OP_DELETE, 0))
@@ -2092,68 +2068,6 @@ void db_model_delete (DbModel * self, DbIter * iter)
db_model_perform_operations (self, FALSE);
}
-/**
- * db_model_use_null_row:
- * @self: a #DbModel
- * @use: wether to use a null row
- *
- * Sets wether to use a null row at the end of the model. This row can't be
- * modified by the methods @db_model_delete or @db_model_set_value, the only way
- * to remove it is to call @db_model_use_null_row again passing #FALSE.
- **/
-void db_model_use_null_row (DbModel * self, gboolean use)
-{
- DbModelPrivate * priv;
-
- g_return_if_fail (DB_IS_MODEL (self));
-
- priv = self->priv;
-
- if (MODEL_NOT_READY(self) || !priv->result
- || ((priv->null_row != NULL) == use))
- return;
-
- if (use)
- {
- if (!priv->null_row)
- {
- gint i;
- DbIter iter;
- DbModelPrivate * priv = self->priv;
- DbRow * curr, * row = db_row_new (priv->result->ncols, 0);
- gpointer * data = priv->data->pdata;
-
- for (i = 0; i < row->len; i++)
- g_value_init (&row->value[i], GVN_TYPE_NULL);
-
- priv->null_row = row;
- iter.data = row;
- iter.stamp = priv->stamp;
-
- priv->result->nrows++;
- g_ptr_array_set_size (priv->data, priv->result->nrows);
- curr = data[0];
- data[0] = row;
-
- for (i = 1; i < priv->result->nrows; i++)
- {
- DbRow * next = data[i];
- DB_ROW_POSITION (curr)++;
- data[i] = curr;
- curr = next;
- }
-
- g_signal_emit (self, db_model_signal[LINE_INSERTED], 0, &iter);
- }
- }
- else if (priv->null_row)
- {
- g_signal_emit (self, db_model_signal[LINE_DELETED], 0,
- DB_ROW_POSITION (priv->null_row));
- priv->null_row = NULL;
- }
-}
-
/**
* db_model_order_by:
* @self: a #DbModel
@@ -2193,8 +2107,7 @@ void db_model_order_by (DbModel * self, gint col, DbSortType order)
priv->sort_column_id = col;
g_signal_emit (self, db_model_signal[SORT_CHANGED], 0, NULL);
- info.col = col;
- info.null_row = priv->null_row;
+ info.col = col;
info.order = order;
g_ptr_array_sort_with_data (priv->data
@@ -3154,7 +3067,6 @@ static void db_model_init (DbModel * self)
);
priv->fresh = TRUE;
- priv->null_row = NULL;
priv->sort_column_id = DB_MODEL_UNSORTED_SORT_COLUMN_ID;
priv->default_sort_data = NULL;
priv->default_sort_func = NULL;
diff --git a/db/db-model.h b/db/db-model.h
index 204392b..e016227 100644
--- a/db/db-model.h
+++ b/db/db-model.h
@@ -206,7 +206,6 @@ void db_model_unset_update_flags (DbModel * self
void db_model_set_mode (DbModel * self, DbModelMode mode);
DbModelMode db_model_get_mode (DbModel * self);
void db_model_toggle_mode (DbModel * self);
-void db_model_use_null_row (DbModel * self, gboolean use);
gboolean db_model_get_last (DbModel * self, DbIter * iter);
void db_model_get (DbModel * self
,DbIter * iter
diff --git a/docs/reference/hedera/hedera-docs.sgml b/docs/reference/hedera/hedera-docs.sgml
index b623528..a3c46ce 100644
--- a/docs/reference/hedera/hedera-docs.sgml
+++ b/docs/reference/hedera/hedera-docs.sgml
@@ -112,7 +112,7 @@
-
+
diff --git a/gvn/gvn-param.c b/gvn/gvn-param.c
index bda3b76..8b1e5c1 100644
--- a/gvn/gvn-param.c
+++ b/gvn/gvn-param.c
@@ -249,6 +249,10 @@ void gvn_param_set_string (GvnParam * self, const gchar * value)
gvn_param_take_value (self, gvn_value_new_string (value));
}
+/**
+ * gvn_param_get_boxed:
+ * Return value: (transfer none):
+ **/
gpointer gvn_param_get_boxed (GvnParam * self)
{
g_return_val_if_fail (GVN_IS_PARAM (self), NULL);
diff --git a/gvn/gvn-value.c b/gvn/gvn-value.c
index 68ad25d..a5a9d06 100644
--- a/gvn/gvn-value.c
+++ b/gvn/gvn-value.c
@@ -703,6 +703,10 @@ GValue * gvn_value_new_string (const gchar * value)
return gvalue;
}
+/**
+ * gvn_value_get_boxed:
+ * Return value: (transfer none):
+ **/
gpointer gvn_value_get_boxed (const GValue * value)
{
g_return_val_if_fail (G_IS_VALUE (value), NULL);
diff --git a/module/Makefile.in b/module/Makefile.in
deleted file mode 100644
index ce648a6..0000000
--- a/module/Makefile.in
+++ /dev/null
@@ -1,737 +0,0 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2013 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@
-
-# Definition of the install directories
-
-# Libraries
-VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/Makefile.decl $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am
-subdir = module
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/build/m4/dev-tools.m4 \
- $(top_srcdir)/build/m4/gtk-doc.m4 \
- $(top_srcdir)/build/m4/intltool.m4 \
- $(top_srcdir)/build/m4/libtool.m4 \
- $(top_srcdir)/build/m4/ltoptions.m4 \
- $(top_srcdir)/build/m4/ltsugar.m4 \
- $(top_srcdir)/build/m4/ltversion.m4 \
- $(top_srcdir)/build/m4/lt~obsolete.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/build/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_P = $(am__v_P_@AM_V@)
-am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
- ctags-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 \
- tags-recursive uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-am__recursive_targets = \
- $(RECURSIVE_TARGETS) \
- $(RECURSIVE_CLEAN_TARGETS) \
- $(am__extra_recursive_targets)
-AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- distdir
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-ALL_LINGUAS = @ALL_LINGUAS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATADIRNAME = @DATADIRNAME@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ENABLE_DEBUG = @ENABLE_DEBUG@
-ENABLE_INSTALL = @ENABLE_INSTALL@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
-GIR_SCANNER_ARGS = @GIR_SCANNER_ARGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GREP = @GREP@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
-GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
-GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-HTML_DIR = @HTML_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTOBJEXT = @INSTOBJEXT@
-INTLLIBS = @INTLLIBS@
-INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
-INTLTOOL_MERGE = @INTLTOOL_MERGE@
-INTLTOOL_PERL = @INTLTOOL_PERL@
-INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
-INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
-INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
-INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
-INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
-INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
-INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
-INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
-INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
-INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
-INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
-INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
-INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MSGFMT = @MSGFMT@
-MSGFMT_OPTS = @MSGFMT_OPTS@
-MSGMERGE = @MSGMERGE@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-POFILES = @POFILES@
-POSUB = @POSUB@
-PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
-PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
-RAGEL = @RAGEL@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-USE_NLS = @USE_NLS@
-VALAC = @VALAC@
-VALA_VERSION = @VALA_VERSION@
-VAPIGEN = @VAPIGEN@
-VERSION = @VERSION@
-VERSION_INFO = @VERSION_INFO@
-XGETTEXT = @XGETTEXT@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gdome_CFLAGS = @gdome_CFLAGS@
-gdome_LIBS = @gdome_LIBS@
-gladeui_CFLAGS = @gladeui_CFLAGS@
-gladeui_LIBS = @gladeui_LIBS@
-glib_CFLAGS = @glib_CFLAGS@
-glib_LIBS = @glib_LIBS@
-gsettingsschemadir = @gsettingsschemadir@
-gtk_CFLAGS = @gtk_CFLAGS@
-gtk_LIBS = @gtk_LIBS@
-gtksourceview_CFLAGS = @gtksourceview_CFLAGS@
-gtksourceview_LIBS = @gtksourceview_LIBS@
-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@
-intltool__v_merge_options_ = @intltool__v_merge_options_@
-intltool__v_merge_options_0 = @intltool__v_merge_options_0@
-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@
-sqlite_CFLAGS = @sqlite_CFLAGS@
-sqlite_LIBS = @sqlite_LIBS@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-uVERSION = @uVERSION@
-@ENABLE_INSTALL_FALSE@hedera_libdir = $(abs_top_builddir)
-@ENABLE_INSTALL_TRUE@hedera_libdir = $(pkglibdir)
-@ENABLE_INSTALL_FALSE@hedera_datadir = $(abs_top_srcdir)
-@ENABLE_INSTALL_TRUE@hedera_datadir = $(pkgdatadir)
-gvn_libdir = $(hedera_libdir)
-sql_libdir = $(hedera_libdir)
-vn_libdir = $(hedera_libdir)
-field_libdir = $(vn_libdir)
-column_libdir = $(vn_libdir)
-plugin_libdir = $(hedera_libdir)/plugin
-@ENABLE_INSTALL_FALSE@db_libdir = $(hedera_libdir)/db
-@ENABLE_INSTALL_TRUE@db_libdir = $(hedera_libdir)
-@ENABLE_INSTALL_FALSE@module_libdir = $(hedera_libdir)/module/src/.libs
-@ENABLE_INSTALL_TRUE@module_libdir = $(hedera_libdir)/module
-
-# Binaries (programs)
-hedera_bindir = $(bindir)
-
-# Headers and development files
-hedera_includedir = $(pkgincludedir)
-gvn_includedir = $(hedera_includedir)/gvn
-sql_includedir = $(hedera_includedir)/sql
-db_includedir = $(hedera_includedir)/db
-vn_includedir = $(hedera_includedir)/vn
-field_includedir = $(vn_includedir)/field
-column_includedir = $(vn_includedir)/column
-pkgconfigdir = $(libdir)/pkgconfig
-@ENABLE_VALA_TRUE@girdir = $(datadir)/gir-1.0
-@ENABLE_VALA_TRUE@typelibdir = $(prefix)/lib/girepository-1.0
-@ENABLE_VALA_TRUE@vapidata = $(top_srcdir)/vapi
-@ENABLE_VALA_TRUE@vapis = $(top_builddir)/vapi
-@ENABLE_VALA_TRUE@vapidir = $(datadir)/vala-$(VALA_VERSION)/vapi
-gladevn_libdir = $(prefix)/lib/glade/modules
-gladevn_datadir = $(datadir)/glade/catalogs
-
-# Data
-vn_datadir = $(hedera_datadir)/vn
-vn_imagedir = $(vn_datadir)/image
-vn_guidir = $(vn_datadir)/gui
-module_querydir = $(hedera_datadir)/module/sql
-@ENABLE_INSTALL_FALSE@vn_configdir = $(vn_datadir)/schema
-@ENABLE_INSTALL_TRUE@vn_configdir = $(vn_datadir)
-@ENABLE_INSTALL_FALSE@vn_xmldir = $(vn_datadir)/schema
-@ENABLE_INSTALL_TRUE@vn_xmldir = $(datadir)/xml/$(PACKAGE)
-@ENABLE_INSTALL_FALSE@module_datadir = $(hedera_datadir)/module/data
-@ENABLE_INSTALL_TRUE@module_datadir = $(hedera_datadir)/module
-desktopdir = $(datadir)/applications
-vapigen_v = $(vapigen_v_@AM_V@)
-vapigen_v_ = $(vapigen_v_@AM_DEFAULT_V@)
-vapigen_v_0 = @echo " VAPIGEN $(subst $(vapis)/,,$@)";
-SUBDIRS = \
- src \
- data
-
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/Makefile.decl $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu module/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu module/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_srcdir)/Makefile.decl:
-
-$(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
-$(am__aclocal_m4_deps):
-
-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.
-$(am__recursive_targets):
- @fail=; \
- if $(am__make_keepgoing); then \
- failcom='fail=yes'; \
- else \
- failcom='exit 1'; \
- fi; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-recursive
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-recursive
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-recursive
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-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:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(am__recursive_targets) install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
- check-am clean clean-generic clean-libtool cscopelist-am ctags \
- ctags-am 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-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/module/data/Makefile.in b/module/data/Makefile.in
deleted file mode 100644
index e70e834..0000000
--- a/module/data/Makefile.in
+++ /dev/null
@@ -1,618 +0,0 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2013 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@
-
-# Definition of the install directories
-
-# Libraries
-
-VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/Makefile.decl $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am
-subdir = module/data
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/build/m4/dev-tools.m4 \
- $(top_srcdir)/build/m4/gtk-doc.m4 \
- $(top_srcdir)/build/m4/intltool.m4 \
- $(top_srcdir)/build/m4/libtool.m4 \
- $(top_srcdir)/build/m4/ltoptions.m4 \
- $(top_srcdir)/build/m4/ltsugar.m4 \
- $(top_srcdir)/build/m4/ltversion.m4 \
- $(top_srcdir)/build/m4/lt~obsolete.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/build/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_P = $(am__v_P_@AM_V@)
-am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-SOURCES =
-DIST_SOURCES =
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(exampledir)"
-DATA = $(example_DATA)
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALL_LINGUAS = @ALL_LINGUAS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATADIRNAME = @DATADIRNAME@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ENABLE_DEBUG = @ENABLE_DEBUG@
-ENABLE_INSTALL = @ENABLE_INSTALL@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
-GIR_SCANNER_ARGS = @GIR_SCANNER_ARGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GREP = @GREP@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
-GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
-GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-HTML_DIR = @HTML_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTOBJEXT = @INSTOBJEXT@
-INTLLIBS = @INTLLIBS@
-INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
-INTLTOOL_MERGE = @INTLTOOL_MERGE@
-INTLTOOL_PERL = @INTLTOOL_PERL@
-INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
-INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
-INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
-INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
-INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
-INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
-INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
-INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
-INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
-INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
-INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
-INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
-INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MSGFMT = @MSGFMT@
-MSGFMT_OPTS = @MSGFMT_OPTS@
-MSGMERGE = @MSGMERGE@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-POFILES = @POFILES@
-POSUB = @POSUB@
-PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
-PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
-RAGEL = @RAGEL@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-USE_NLS = @USE_NLS@
-VALAC = @VALAC@
-VALA_VERSION = @VALA_VERSION@
-VAPIGEN = @VAPIGEN@
-VERSION = @VERSION@
-VERSION_INFO = @VERSION_INFO@
-XGETTEXT = @XGETTEXT@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gdome_CFLAGS = @gdome_CFLAGS@
-gdome_LIBS = @gdome_LIBS@
-gladeui_CFLAGS = @gladeui_CFLAGS@
-gladeui_LIBS = @gladeui_LIBS@
-glib_CFLAGS = @glib_CFLAGS@
-glib_LIBS = @glib_LIBS@
-gsettingsschemadir = @gsettingsschemadir@
-gtk_CFLAGS = @gtk_CFLAGS@
-gtk_LIBS = @gtk_LIBS@
-gtksourceview_CFLAGS = @gtksourceview_CFLAGS@
-gtksourceview_LIBS = @gtksourceview_LIBS@
-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@
-intltool__v_merge_options_ = @intltool__v_merge_options_@
-intltool__v_merge_options_0 = @intltool__v_merge_options_0@
-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@
-sqlite_CFLAGS = @sqlite_CFLAGS@
-sqlite_LIBS = @sqlite_LIBS@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-uVERSION = @uVERSION@
-@ENABLE_INSTALL_FALSE@hedera_libdir = $(abs_top_builddir)
-@ENABLE_INSTALL_TRUE@hedera_libdir = $(pkglibdir)
-@ENABLE_INSTALL_FALSE@hedera_datadir = $(abs_top_srcdir)
-@ENABLE_INSTALL_TRUE@hedera_datadir = $(pkgdatadir)
-gvn_libdir = $(hedera_libdir)
-sql_libdir = $(hedera_libdir)
-vn_libdir = $(hedera_libdir)
-field_libdir = $(vn_libdir)
-column_libdir = $(vn_libdir)
-plugin_libdir = $(hedera_libdir)/plugin
-@ENABLE_INSTALL_FALSE@db_libdir = $(hedera_libdir)/db
-@ENABLE_INSTALL_TRUE@db_libdir = $(hedera_libdir)
-@ENABLE_INSTALL_FALSE@module_libdir = $(hedera_libdir)/module/src/.libs
-@ENABLE_INSTALL_TRUE@module_libdir = $(hedera_libdir)/module
-
-# Binaries (programs)
-hedera_bindir = $(bindir)
-
-# Headers and development files
-hedera_includedir = $(pkgincludedir)
-gvn_includedir = $(hedera_includedir)/gvn
-sql_includedir = $(hedera_includedir)/sql
-db_includedir = $(hedera_includedir)/db
-vn_includedir = $(hedera_includedir)/vn
-field_includedir = $(vn_includedir)/field
-column_includedir = $(vn_includedir)/column
-pkgconfigdir = $(libdir)/pkgconfig
-@ENABLE_VALA_TRUE@girdir = $(datadir)/gir-1.0
-@ENABLE_VALA_TRUE@typelibdir = $(prefix)/lib/girepository-1.0
-@ENABLE_VALA_TRUE@vapidata = $(top_srcdir)/vapi
-@ENABLE_VALA_TRUE@vapis = $(top_builddir)/vapi
-@ENABLE_VALA_TRUE@vapidir = $(datadir)/vala-$(VALA_VERSION)/vapi
-gladevn_libdir = $(prefix)/lib/glade/modules
-gladevn_datadir = $(datadir)/glade/catalogs
-
-# Data
-vn_datadir = $(hedera_datadir)/vn
-vn_imagedir = $(vn_datadir)/image
-vn_guidir = $(vn_datadir)/gui
-module_querydir = $(hedera_datadir)/module/sql
-@ENABLE_INSTALL_FALSE@vn_configdir = $(vn_datadir)/schema
-@ENABLE_INSTALL_TRUE@vn_configdir = $(vn_datadir)
-@ENABLE_INSTALL_FALSE@vn_xmldir = $(vn_datadir)/schema
-@ENABLE_INSTALL_TRUE@vn_xmldir = $(datadir)/xml/$(PACKAGE)
-@ENABLE_INSTALL_FALSE@module_datadir = $(hedera_datadir)/module/data
-@ENABLE_INSTALL_TRUE@module_datadir = $(hedera_datadir)/module
-desktopdir = $(datadir)/applications
-vapigen_v = $(vapigen_v_@AM_V@)
-vapigen_v_ = $(vapigen_v_@AM_DEFAULT_V@)
-vapigen_v_0 = @echo " VAPIGEN $(subst $(vapis)/,,$@)";
-exampledir = $(module_datadir)
-example_DATA = \
- example.xml \
- example-menu.xml \
- consulter.glade \
- shelfs.glade \
- consulter-menu.xml \
- customer.glade
-
-EXTRA_DIST = $(example_DATA)
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/Makefile.decl $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu module/data/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu module/data/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_srcdir)/Makefile.decl:
-
-$(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
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-install-exampleDATA: $(example_DATA)
- @$(NORMAL_INSTALL)
- @list='$(example_DATA)'; test -n "$(exampledir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(exampledir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(exampledir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(exampledir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(exampledir)" || exit $$?; \
- done
-
-uninstall-exampleDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(example_DATA)'; test -n "$(exampledir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(exampledir)'; $(am__uninstall_files_from_dir)
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(DATA)
-installdirs:
- for dir in "$(DESTDIR)$(exampledir)"; 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:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-exampleDATA
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-exampleDATA
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- cscopelist-am ctags-am 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-exampleDATA 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 tags-am uninstall \
- uninstall-am uninstall-exampleDATA
-
-
-# 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/module/src/Makefile.in b/module/src/Makefile.in
deleted file mode 100644
index ace278c..0000000
--- a/module/src/Makefile.in
+++ /dev/null
@@ -1,814 +0,0 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2013 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@
-
-# Definition of the install directories
-
-# Libraries
-
-
-VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/Makefile.decl $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/build/depcomp
-subdir = module/src
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/build/m4/dev-tools.m4 \
- $(top_srcdir)/build/m4/gtk-doc.m4 \
- $(top_srcdir)/build/m4/intltool.m4 \
- $(top_srcdir)/build/m4/libtool.m4 \
- $(top_srcdir)/build/m4/ltoptions.m4 \
- $(top_srcdir)/build/m4/ltsugar.m4 \
- $(top_srcdir)/build/m4/ltversion.m4 \
- $(top_srcdir)/build/m4/lt~obsolete.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/build/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(example_libdir)" \
- "$(DESTDIR)$(example_querydir)"
-LTLIBRARIES = $(example_lib_LTLIBRARIES)
-libexample_la_DEPENDENCIES = $(top_builddir)/vn/libvn.la
-am_libexample_la_OBJECTS = vn-consulter.lo vn-shelves.lo \
- vn-customer.lo
-libexample_la_OBJECTS = $(am_libexample_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
-libexample_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libexample_la_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_P = $(am__v_P_@AM_V@)
-am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/build
-depcomp = $(SHELL) $(top_srcdir)/build/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-am__v_CC_1 =
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-am__v_CCLD_1 =
-SOURCES = $(libexample_la_SOURCES)
-DIST_SOURCES = $(libexample_la_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-DATA = $(example_query_DATA)
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALL_LINGUAS = @ALL_LINGUAS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATADIRNAME = @DATADIRNAME@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ENABLE_DEBUG = @ENABLE_DEBUG@
-ENABLE_INSTALL = @ENABLE_INSTALL@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
-GIR_SCANNER_ARGS = @GIR_SCANNER_ARGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GREP = @GREP@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
-GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
-GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-HTML_DIR = @HTML_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTOBJEXT = @INSTOBJEXT@
-INTLLIBS = @INTLLIBS@
-INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
-INTLTOOL_MERGE = @INTLTOOL_MERGE@
-INTLTOOL_PERL = @INTLTOOL_PERL@
-INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
-INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
-INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
-INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
-INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
-INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
-INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
-INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
-INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
-INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
-INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
-INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
-INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MSGFMT = @MSGFMT@
-MSGFMT_OPTS = @MSGFMT_OPTS@
-MSGMERGE = @MSGMERGE@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-POFILES = @POFILES@
-POSUB = @POSUB@
-PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
-PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
-RAGEL = @RAGEL@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-USE_NLS = @USE_NLS@
-VALAC = @VALAC@
-VALA_VERSION = @VALA_VERSION@
-VAPIGEN = @VAPIGEN@
-VERSION = @VERSION@
-VERSION_INFO = @VERSION_INFO@
-XGETTEXT = @XGETTEXT@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gdome_CFLAGS = @gdome_CFLAGS@
-gdome_LIBS = @gdome_LIBS@
-gladeui_CFLAGS = @gladeui_CFLAGS@
-gladeui_LIBS = @gladeui_LIBS@
-glib_CFLAGS = @glib_CFLAGS@
-glib_LIBS = @glib_LIBS@
-gsettingsschemadir = @gsettingsschemadir@
-gtk_CFLAGS = @gtk_CFLAGS@
-gtk_LIBS = @gtk_LIBS@
-gtksourceview_CFLAGS = @gtksourceview_CFLAGS@
-gtksourceview_LIBS = @gtksourceview_LIBS@
-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@
-intltool__v_merge_options_ = @intltool__v_merge_options_@
-intltool__v_merge_options_0 = @intltool__v_merge_options_0@
-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@
-sqlite_CFLAGS = @sqlite_CFLAGS@
-sqlite_LIBS = @sqlite_LIBS@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-uVERSION = @uVERSION@
-@ENABLE_INSTALL_FALSE@hedera_libdir = $(abs_top_builddir)
-@ENABLE_INSTALL_TRUE@hedera_libdir = $(pkglibdir)
-@ENABLE_INSTALL_FALSE@hedera_datadir = $(abs_top_srcdir)
-@ENABLE_INSTALL_TRUE@hedera_datadir = $(pkgdatadir)
-gvn_libdir = $(hedera_libdir)
-sql_libdir = $(hedera_libdir)
-vn_libdir = $(hedera_libdir)
-field_libdir = $(vn_libdir)
-column_libdir = $(vn_libdir)
-plugin_libdir = $(hedera_libdir)/plugin
-@ENABLE_INSTALL_FALSE@db_libdir = $(hedera_libdir)/db
-@ENABLE_INSTALL_TRUE@db_libdir = $(hedera_libdir)
-@ENABLE_INSTALL_FALSE@module_libdir = $(hedera_libdir)/module/src/.libs
-@ENABLE_INSTALL_TRUE@module_libdir = $(hedera_libdir)/module
-
-# Binaries (programs)
-hedera_bindir = $(bindir)
-
-# Headers and development files
-hedera_includedir = $(pkgincludedir)
-gvn_includedir = $(hedera_includedir)/gvn
-sql_includedir = $(hedera_includedir)/sql
-db_includedir = $(hedera_includedir)/db
-vn_includedir = $(hedera_includedir)/vn
-field_includedir = $(vn_includedir)/field
-column_includedir = $(vn_includedir)/column
-pkgconfigdir = $(libdir)/pkgconfig
-@ENABLE_VALA_TRUE@girdir = $(datadir)/gir-1.0
-@ENABLE_VALA_TRUE@typelibdir = $(prefix)/lib/girepository-1.0
-@ENABLE_VALA_TRUE@vapidata = $(top_srcdir)/vapi
-@ENABLE_VALA_TRUE@vapis = $(top_builddir)/vapi
-@ENABLE_VALA_TRUE@vapidir = $(datadir)/vala-$(VALA_VERSION)/vapi
-gladevn_libdir = $(prefix)/lib/glade/modules
-gladevn_datadir = $(datadir)/glade/catalogs
-
-# Data
-vn_datadir = $(hedera_datadir)/vn
-vn_imagedir = $(vn_datadir)/image
-vn_guidir = $(vn_datadir)/gui
-module_querydir = $(hedera_datadir)/module/sql
-@ENABLE_INSTALL_FALSE@vn_configdir = $(vn_datadir)/schema
-@ENABLE_INSTALL_TRUE@vn_configdir = $(vn_datadir)
-@ENABLE_INSTALL_FALSE@vn_xmldir = $(vn_datadir)/schema
-@ENABLE_INSTALL_TRUE@vn_xmldir = $(datadir)/xml/$(PACKAGE)
-@ENABLE_INSTALL_FALSE@module_datadir = $(hedera_datadir)/module/data
-@ENABLE_INSTALL_TRUE@module_datadir = $(hedera_datadir)/module
-desktopdir = $(datadir)/applications
-vapigen_v = $(vapigen_v_@AM_V@)
-vapigen_v_ = $(vapigen_v_@AM_DEFAULT_V@)
-vapigen_v_0 = @echo " VAPIGEN $(subst $(vapis)/,,$@)";
-example_libdir = $(module_libdir)
-example_lib_LTLIBRARIES = libexample.la
-AM_CPPFLAGS = \
- -I$(top_srcdir) \
- $(gtk_CFLAGS) \
- $(DEFINES)
-
-libexample_la_LDFLAGS = -avoid-version
-libexample_la_LIBADD = $(top_builddir)/vn/libvn.la
-libexample_la_SOURCES = \
- vn-consulter.h \
- vn-consulter.c \
- vn-shelves.h \
- vn-shelves.c \
- vn-customer.h \
- vn-customer.c
-
-example_querydir = $(module_querydir)/example
-example_query_DATA = ../sql/example/consulter.sql
-DEFINES = -D_QUERY_PATH=\"$(module_querydir)\"
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/Makefile.decl $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu module/src/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu module/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_srcdir)/Makefile.decl:
-
-$(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
-$(am__aclocal_m4_deps):
-
-install-example_libLTLIBRARIES: $(example_lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(example_lib_LTLIBRARIES)'; test -n "$(example_libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(example_libdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(example_libdir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(example_libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(example_libdir)"; \
- }
-
-uninstall-example_libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(example_lib_LTLIBRARIES)'; test -n "$(example_libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(example_libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(example_libdir)/$$f"; \
- done
-
-clean-example_libLTLIBRARIES:
- -test -z "$(example_lib_LTLIBRARIES)" || rm -f $(example_lib_LTLIBRARIES)
- @list='$(example_lib_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-
-libexample.la: $(libexample_la_OBJECTS) $(libexample_la_DEPENDENCIES) $(EXTRA_libexample_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libexample_la_LINK) -rpath $(example_libdir) $(libexample_la_OBJECTS) $(libexample_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vn-consulter.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vn-customer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vn-shelves.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-install-example_queryDATA: $(example_query_DATA)
- @$(NORMAL_INSTALL)
- @list='$(example_query_DATA)'; test -n "$(example_querydir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(example_querydir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(example_querydir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(example_querydir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(example_querydir)" || exit $$?; \
- done
-
-uninstall-example_queryDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(example_query_DATA)'; test -n "$(example_querydir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(example_querydir)'; $(am__uninstall_files_from_dir)
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES) $(DATA)
-installdirs:
- for dir in "$(DESTDIR)$(example_libdir)" "$(DESTDIR)$(example_querydir)"; 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:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-example_libLTLIBRARIES clean-generic clean-libtool \
- 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
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-example_libLTLIBRARIES \
- install-example_queryDATA
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-data-hook
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -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-example_libLTLIBRARIES \
- uninstall-example_queryDATA
-
-.MAKE: install-am install-data-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
- clean-example_libLTLIBRARIES clean-generic clean-libtool \
- cscopelist-am ctags ctags-am 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-hook install-dvi \
- install-dvi-am install-example_libLTLIBRARIES \
- install-example_queryDATA 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 tags-am uninstall \
- uninstall-am uninstall-example_libLTLIBRARIES \
- uninstall-example_queryDATA
-
-
-install-data-hook:
- rm -f $(DESTDIR)$(module_libdir)/libexample.la
- rm -f $(DESTDIR)$(module_libdir)/libexample.a
-
-# 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/plugin/sqlite/db-sqlite.c b/plugin/sqlite/db-sqlite.c
index a4d809b..c3e6de3 100644
--- a/plugin/sqlite/db-sqlite.c
+++ b/plugin/sqlite/db-sqlite.c
@@ -52,7 +52,7 @@ static gboolean db_sqlite_open (DbSqlite * self, const gchar * host,
g_set_error (err
,DB_CONN_LOG_DOMAIN
,DB_CONN_ERROR_OPENING
- ,sqlite3_errmsg (self->sqlite)
+ ,"%s", sqlite3_errmsg (self->sqlite)
);
return FALSE;
}
@@ -209,7 +209,7 @@ static DbResultSet * db_sqlite_query (DbSqlite * self, const gchar * sql, GError
g_set_error (err
,DB_CONN_LOG_DOMAIN
,DB_CONN_ERROR_UNKNOW
- ,sqlite3_errmsg (self->sqlite)
+ ,"%s", sqlite3_errmsg (self->sqlite)
);
}
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 342ce51..4caba8d 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -29,7 +29,7 @@ db/db-request.c
db/db-file-loader.c
vn/vn-gui.c
-vn/vn-grid-model.c
+vn/vn-list-model.c
vn/vn-grid.c
vn/vn-handler.c
vn/vn-form.c
@@ -66,3 +66,5 @@ glade/glade-sql-batch.c
module/data/consulter.glade
[type: gettext/glade]module/data/consulter-menu.xml
module/src/vn-consulter.c
+module/data/shelves.glade
+module/src/vn-shelves.c
diff --git a/po/ca.po b/po/ca.po
index 70fa433..e4c249b 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hedera 1.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-09-22 15:30+0200\n"
+"POT-Creation-Date: 2014-10-09 10:39+0200\n"
"PO-Revision-Date: 2013-06-04 13:38+0200\n"
"Last-Translator: Alejandro T. Colombini Gómez \n"
"Language-Team: Catalan\n"
@@ -31,19 +31,19 @@ msgstr "El parametre no pot ser nul"
msgid "Incompatible type for this param"
msgstr "Tipus incompatible per a aquest parametre"
-#: ../gvn/gvn-param.c:285
+#: ../gvn/gvn-param.c:289
msgid "Value"
msgstr ""
-#: ../gvn/gvn-param.c:286
+#: ../gvn/gvn-param.c:290
msgid "The value of the param"
msgstr ""
-#: ../gvn/gvn-param.c:292
+#: ../gvn/gvn-param.c:296
msgid "Master"
msgstr ""
-#: ../gvn/gvn-param.c:293
+#: ../gvn/gvn-param.c:297
#, fuzzy
msgid "The master parameter"
msgstr "Nom d'usuari"
@@ -69,7 +69,7 @@ msgstr ""
msgid "The character used for delimite the name of fields, tables..."
msgstr ""
-#: ../sql/sql-string.c:188 ../db/db-model.c:3337 ../db/db-request.c:449
+#: ../sql/sql-string.c:188 ../db/db-model.c:3249 ../db/db-request.c:449
msgid "SQL"
msgstr ""
@@ -262,80 +262,80 @@ msgstr ""
msgid "Can't allocate the needed memory"
msgstr ""
-#: ../db/db-model.c:3311 ../db/db-request.c:442 ../vn/vn-gui.c:1408
+#: ../db/db-model.c:3223 ../db/db-request.c:442 ../vn/vn-gui.c:1408
#: ../vn/vn-form.c:245
msgid "Connection"
msgstr ""
-#: ../db/db-model.c:3312
+#: ../db/db-model.c:3224
msgid "The DbConn that manages the connection to the database"
msgstr ""
-#: ../db/db-model.c:3319
+#: ../db/db-model.c:3231
msgid "Statement"
msgstr ""
-#: ../db/db-model.c:3320
+#: ../db/db-model.c:3232
msgid "The statement which retrieves the data"
msgstr ""
-#: ../db/db-model.c:3327
+#: ../db/db-model.c:3239
msgid "Use file"
msgstr ""
-#: ../db/db-model.c:3328
+#: ../db/db-model.c:3240
msgid ""
"If this is set to TRUE, the \"sql\" property will hold the name of a file "
"containing a query, if set to FALSE, \"sql\" is used as an SQL string"
msgstr ""
-#: ../db/db-model.c:3338
+#: ../db/db-model.c:3250
msgid ""
"Depending on the \"use-file\" property this will be the path to a file with "
"queries for the model or a SQL string"
msgstr ""
-#: ../db/db-model.c:3347
+#: ../db/db-model.c:3259
msgid "Main Table"
msgstr ""
-#: ../db/db-model.c:3348
+#: ../db/db-model.c:3260
msgid "The main table of the model"
msgstr ""
-#: ../db/db-model.c:3355
+#: ../db/db-model.c:3267
msgid "Update flags"
msgstr ""
-#: ../db/db-model.c:3356
+#: ../db/db-model.c:3268
msgid "The flags that indicate how a model can be modified"
msgstr ""
-#: ../db/db-model.c:3364
+#: ../db/db-model.c:3276
msgid "Result position"
msgstr ""
-#: ../db/db-model.c:3365
+#: ../db/db-model.c:3277
msgid ""
"The position where the query that will fill the model will be placed in a "
"multi-query"
msgstr ""
-#: ../db/db-model.c:3375
+#: ../db/db-model.c:3287
msgid "Partial delete"
msgstr ""
-#: ../db/db-model.c:3376
+#: ../db/db-model.c:3288
msgid ""
"When a row is deleted set all the fields from the table to null rather than "
"delete it."
msgstr ""
-#: ../db/db-model.c:3384
+#: ../db/db-model.c:3296
msgid "Batch"
msgstr ""
-#: ../db/db-model.c:3385
+#: ../db/db-model.c:3297
msgid "The batch assigned to the model"
msgstr ""
@@ -578,7 +578,7 @@ msgstr ""
msgid "Connection closed"
msgstr ""
-#: ../vn/vn-gui.c:919 ../vn/field/vn-http-image.c:119
+#: ../vn/vn-gui.c:919 ../vn/field/vn-http-image.c:127
msgid "Loading"
msgstr ""
@@ -590,7 +590,7 @@ msgstr ""
msgid "The connection used by Gui"
msgstr ""
-#: ../vn/vn-gui.c:1415 ../vn/vn-login.c:611
+#: ../vn/vn-gui.c:1415 ../vn/vn-login.c:613
msgid "Application"
msgstr ""
@@ -598,6 +598,14 @@ msgstr ""
msgid "The application handler for the entire program"
msgstr ""
+#: ../vn/vn-list-model.c:573
+msgid "Null row"
+msgstr ""
+
+#: ../vn/vn-list-model.c:574
+msgid "Whether the list model will add a null row or not"
+msgstr ""
+
#: ../vn/vn-handler.c:74
msgid "Are you sure you want to delete the current selection?"
msgstr ""
@@ -682,20 +690,20 @@ msgstr ""
msgid "The module"
msgstr ""
-#: ../vn/vn-login.c:396 ../vn/vn-login.c:398 ../vn/vn-login.c:490
+#: ../vn/vn-login.c:398 ../vn/vn-login.c:400 ../vn/vn-login.c:492
msgid "Login error"
msgstr ""
-#: ../vn/vn-login.c:456
+#: ../vn/vn-login.c:458
#, c-format
msgid "Bad connection settings, please check it."
msgstr ""
-#: ../vn/vn-login.c:488
+#: ../vn/vn-login.c:490
msgid "Please select a connection"
msgstr ""
-#: ../vn/vn-login.c:612
+#: ../vn/vn-login.c:614
msgid "The application"
msgstr ""
@@ -766,19 +774,19 @@ msgstr ""
msgid "The number of decimal places to display."
msgstr ""
-#: ../vn/field/vn-combo.c:298 ../vn/column/vn-column-combo.c:340
+#: ../vn/field/vn-combo.c:297 ../vn/column/vn-column-combo.c:338
msgid "Index column"
msgstr ""
-#: ../vn/field/vn-combo.c:299 ../vn/column/vn-column-combo.c:341
+#: ../vn/field/vn-combo.c:298 ../vn/column/vn-column-combo.c:339
msgid "The column index of the model"
msgstr ""
-#: ../vn/field/vn-combo.c:305 ../vn/column/vn-column-combo.c:347
+#: ../vn/field/vn-combo.c:304 ../vn/column/vn-column-combo.c:345
msgid "Show column"
msgstr ""
-#: ../vn/field/vn-combo.c:306 ../vn/column/vn-column-combo.c:348
+#: ../vn/field/vn-combo.c:305 ../vn/column/vn-column-combo.c:346
msgid "The column of the model shown by combo"
msgstr ""
@@ -829,37 +837,37 @@ msgstr ""
msgid "Undefined error"
msgstr ""
-#: ../vn/field/vn-http-image.c:145
-msgid "File loader already set"
-msgstr ""
-
#. Se usará para subir imagenes y cambiar nombres, o abrir un menu contextual
#. g_signal_connect (self, "event", G_CALLBACK (vn_http_image_on_event), self);
-#: ../vn/field/vn-http-image.c:184
+#: ../vn/field/vn-http-image.c:120 ../vn/field/vn-http-image.c:192
msgid "No image set"
msgstr ""
-#: ../vn/field/vn-http-image.c:212 ../vn/column/vn-column-image.c:536
+#: ../vn/field/vn-http-image.c:153
+msgid "File loader already set"
+msgstr ""
+
+#: ../vn/field/vn-http-image.c:220 ../vn/column/vn-column-image.c:536
msgid "File loader"
msgstr ""
-#: ../vn/field/vn-http-image.c:213
+#: ../vn/field/vn-http-image.c:221
msgid "A DbFileLoader, used to download the files"
msgstr ""
-#: ../vn/field/vn-http-image.c:220
+#: ../vn/field/vn-http-image.c:228
msgid "File path"
msgstr ""
-#: ../vn/field/vn-http-image.c:221
+#: ../vn/field/vn-http-image.c:229
msgid "The relative path to the image from file loader path"
msgstr ""
-#: ../vn/field/vn-http-image.c:228
+#: ../vn/field/vn-http-image.c:236
msgid "Image bytes"
msgstr ""
-#: ../vn/field/vn-http-image.c:229
+#: ../vn/field/vn-http-image.c:237
msgid "A GBytes structure with the image data"
msgstr ""
@@ -884,11 +892,11 @@ msgid ""
"A VnColumnStyleFunc to set the properties of each cell depending on its value"
msgstr ""
-#: ../vn/column/vn-column-combo.c:354
+#: ../vn/column/vn-column-combo.c:352
msgid "Sort column"
msgstr ""
-#: ../vn/column/vn-column-combo.c:355
+#: ../vn/column/vn-column-combo.c:353
msgid "The field number of the Grid model used to sort the column"
msgstr ""
diff --git a/po/es.po b/po/es.po
index 4fc4216..7636bf4 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hedera 1.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-09-22 15:30+0200\n"
+"POT-Creation-Date: 2014-10-09 10:39+0200\n"
"PO-Revision-Date: 2013-06-04 13:36+0200\n"
"Last-Translator: Alejandro T. Colombini Gómez \n"
"Language-Team: Spanish\n"
@@ -33,19 +33,19 @@ msgstr "El parámetro no puede ser nulo"
msgid "Incompatible type for this param"
msgstr "Tipo incompatible para este parámetro"
-#: ../gvn/gvn-param.c:285
+#: ../gvn/gvn-param.c:289
msgid "Value"
msgstr "Valor"
-#: ../gvn/gvn-param.c:286
+#: ../gvn/gvn-param.c:290
msgid "The value of the param"
msgstr "El valor del parámetro"
-#: ../gvn/gvn-param.c:292
+#: ../gvn/gvn-param.c:296
msgid "Master"
msgstr "Maestro"
-#: ../gvn/gvn-param.c:293
+#: ../gvn/gvn-param.c:297
msgid "The master parameter"
msgstr "El parámetro maestro"
@@ -70,7 +70,7 @@ msgstr "Delimitador"
msgid "The character used for delimite the name of fields, tables..."
msgstr "El carácter usado para delimitar los nombres de campos, tablas..."
-#: ../sql/sql-string.c:188 ../db/db-model.c:3337 ../db/db-request.c:449
+#: ../sql/sql-string.c:188 ../db/db-model.c:3249 ../db/db-request.c:449
msgid "SQL"
msgstr "SQL"
@@ -259,28 +259,28 @@ msgstr "Una de las posibles opciones de #SqlSelectType"
msgid "Can't allocate the needed memory"
msgstr "No es posible asignar la memoria necesaria"
-#: ../db/db-model.c:3311 ../db/db-request.c:442 ../vn/vn-gui.c:1408
+#: ../db/db-model.c:3223 ../db/db-request.c:442 ../vn/vn-gui.c:1408
#: ../vn/vn-form.c:245
msgid "Connection"
msgstr "Conexión"
-#: ../db/db-model.c:3312
+#: ../db/db-model.c:3224
msgid "The DbConn that manages the connection to the database"
msgstr "La DbConn que controla la conexión a la base de datos"
-#: ../db/db-model.c:3319
+#: ../db/db-model.c:3231
msgid "Statement"
msgstr "Consulta"
-#: ../db/db-model.c:3320
+#: ../db/db-model.c:3232
msgid "The statement which retrieves the data"
msgstr "La consulta que recupera los datos"
-#: ../db/db-model.c:3327
+#: ../db/db-model.c:3239
msgid "Use file"
msgstr "Usa fichero"
-#: ../db/db-model.c:3328
+#: ../db/db-model.c:3240
msgid ""
"If this is set to TRUE, the \"sql\" property will hold the name of a file "
"containing a query, if set to FALSE, \"sql\" is used as an SQL string"
@@ -288,7 +288,7 @@ msgstr ""
"Si es TRUE, la propiedad \"sql\" contiene el nombre de un archivo, si es "
"falso, \"sql\" se usa como una cadena SQL"
-#: ../db/db-model.c:3338
+#: ../db/db-model.c:3250
msgid ""
"Depending on the \"use-file\" property this will be the path to a file with "
"queries for the model or a SQL string"
@@ -296,27 +296,27 @@ msgstr ""
"Dependiendo de la propiedad \"use-file\", esta propiedad será la ruta a un "
"fichero con consultas para el modelo o una cadena SQL"
-#: ../db/db-model.c:3347
+#: ../db/db-model.c:3259
msgid "Main Table"
msgstr "Tabla principal"
-#: ../db/db-model.c:3348
+#: ../db/db-model.c:3260
msgid "The main table of the model"
msgstr "La tabla principal del modelo"
-#: ../db/db-model.c:3355
+#: ../db/db-model.c:3267
msgid "Update flags"
msgstr "Flags de actualización"
-#: ../db/db-model.c:3356
+#: ../db/db-model.c:3268
msgid "The flags that indicate how a model can be modified"
msgstr "Indican como se puede modificar el modelo"
-#: ../db/db-model.c:3364
+#: ../db/db-model.c:3276
msgid "Result position"
msgstr "Posición del resultado"
-#: ../db/db-model.c:3365
+#: ../db/db-model.c:3277
msgid ""
"The position where the query that will fill the model will be placed in a "
"multi-query"
@@ -324,11 +324,11 @@ msgstr ""
"La posición en la que se situa la consulta que pone datos en el modelo en "
"una consulta múltiple"
-#: ../db/db-model.c:3375
+#: ../db/db-model.c:3287
msgid "Partial delete"
msgstr "Delete parcial"
-#: ../db/db-model.c:3376
+#: ../db/db-model.c:3288
msgid ""
"When a row is deleted set all the fields from the table to null rather than "
"delete it."
@@ -336,11 +336,11 @@ msgstr ""
"Cuando una fila es eliminada, poner todos los campos de la tabla a nulo en "
"lugar de borrarla."
-#: ../db/db-model.c:3384
+#: ../db/db-model.c:3296
msgid "Batch"
msgstr "Batch"
-#: ../db/db-model.c:3385
+#: ../db/db-model.c:3297
msgid "The batch assigned to the model"
msgstr "El batch asignado al modelo"
@@ -587,7 +587,7 @@ msgstr "Conexión perdida"
msgid "Connection closed"
msgstr "Conexión cerrada"
-#: ../vn/vn-gui.c:919 ../vn/field/vn-http-image.c:119
+#: ../vn/vn-gui.c:919 ../vn/field/vn-http-image.c:127
msgid "Loading"
msgstr "Cargando"
@@ -599,7 +599,7 @@ msgstr "Preparado"
msgid "The connection used by Gui"
msgstr "La conexión empleada por Gui"
-#: ../vn/vn-gui.c:1415 ../vn/vn-login.c:611
+#: ../vn/vn-gui.c:1415 ../vn/vn-login.c:613
msgid "Application"
msgstr "Aplicación"
@@ -607,6 +607,14 @@ msgstr "Aplicación"
msgid "The application handler for the entire program"
msgstr "El manejador de la aplicación para todo el programa"
+#: ../vn/vn-list-model.c:573
+msgid "Null row"
+msgstr "Fila nula"
+
+#: ../vn/vn-list-model.c:574
+msgid "Whether the list model will add a null row or not"
+msgstr "Indica si el modelo añadirá una fila nula o no"
+
#: ../vn/vn-handler.c:74
msgid "Are you sure you want to delete the current selection?"
msgstr "¿Estás seguro de que quieres eliminar los registros seleccionados?"
@@ -691,20 +699,20 @@ msgstr "Módulo"
msgid "The module"
msgstr "El módulo"
-#: ../vn/vn-login.c:396 ../vn/vn-login.c:398 ../vn/vn-login.c:490
+#: ../vn/vn-login.c:398 ../vn/vn-login.c:400 ../vn/vn-login.c:492
msgid "Login error"
msgstr "Error de acceso"
-#: ../vn/vn-login.c:456
+#: ../vn/vn-login.c:458
#, c-format
msgid "Bad connection settings, please check it."
msgstr "Los parámetros de la conexión son incorrectos, compruébalos por favor."
-#: ../vn/vn-login.c:488
+#: ../vn/vn-login.c:490
msgid "Please select a connection"
msgstr "Por favor, selecciona una conexión"
-#: ../vn/vn-login.c:612
+#: ../vn/vn-login.c:614
msgid "The application"
msgstr "La aplicación"
@@ -777,19 +785,19 @@ msgstr "DÃÂgitos"
msgid "The number of decimal places to display."
msgstr "El número de posiciones decimales que se muestran"
-#: ../vn/field/vn-combo.c:298 ../vn/column/vn-column-combo.c:340
+#: ../vn/field/vn-combo.c:297 ../vn/column/vn-column-combo.c:338
msgid "Index column"
msgstr "Columna Ãndice"
-#: ../vn/field/vn-combo.c:299 ../vn/column/vn-column-combo.c:341
+#: ../vn/field/vn-combo.c:298 ../vn/column/vn-column-combo.c:339
msgid "The column index of the model"
msgstr "La columna ÃÂndice del modelo"
-#: ../vn/field/vn-combo.c:305 ../vn/column/vn-column-combo.c:347
+#: ../vn/field/vn-combo.c:304 ../vn/column/vn-column-combo.c:345
msgid "Show column"
msgstr "Columna visible"
-#: ../vn/field/vn-combo.c:306 ../vn/column/vn-column-combo.c:348
+#: ../vn/field/vn-combo.c:305 ../vn/column/vn-column-combo.c:346
msgid "The column of the model shown by combo"
msgstr "La columna del modelo que se mostrará en el combo"
@@ -843,37 +851,37 @@ msgstr "Selecciona la imagen"
msgid "Undefined error"
msgstr "Error indefinido"
-#: ../vn/field/vn-http-image.c:145
-msgid "File loader already set"
-msgstr "Ya se ha especificado un cargador de archivos"
-
#. Se usará para subir imagenes y cambiar nombres, o abrir un menu contextual
#. g_signal_connect (self, "event", G_CALLBACK (vn_http_image_on_event), self);
-#: ../vn/field/vn-http-image.c:184
+#: ../vn/field/vn-http-image.c:120 ../vn/field/vn-http-image.c:192
msgid "No image set"
msgstr "Sin imagen"
-#: ../vn/field/vn-http-image.c:212 ../vn/column/vn-column-image.c:536
+#: ../vn/field/vn-http-image.c:153
+msgid "File loader already set"
+msgstr "Ya se ha especificado un cargador de archivos"
+
+#: ../vn/field/vn-http-image.c:220 ../vn/column/vn-column-image.c:536
msgid "File loader"
msgstr "Cargador de archivos"
-#: ../vn/field/vn-http-image.c:213
+#: ../vn/field/vn-http-image.c:221
msgid "A DbFileLoader, used to download the files"
msgstr "Un DbFileLoader que se usará para descargar los archivos"
-#: ../vn/field/vn-http-image.c:220
+#: ../vn/field/vn-http-image.c:228
msgid "File path"
msgstr "Ruta del archivo"
-#: ../vn/field/vn-http-image.c:221
+#: ../vn/field/vn-http-image.c:229
msgid "The relative path to the image from file loader path"
msgstr "La ruta relativa a la imágen desde la del cargador de archivos"
-#: ../vn/field/vn-http-image.c:228
+#: ../vn/field/vn-http-image.c:236
msgid "Image bytes"
msgstr "Bytes"
-#: ../vn/field/vn-http-image.c:229
+#: ../vn/field/vn-http-image.c:237
msgid "A GBytes structure with the image data"
msgstr "Una estructura GBytes con los datos de la imágen"
@@ -900,11 +908,11 @@ msgstr ""
"Una VnColumnStyleFunc para configurar las propiedadesde cada celda "
"dependiendo de su valor"
-#: ../vn/column/vn-column-combo.c:354
+#: ../vn/column/vn-column-combo.c:352
msgid "Sort column"
msgstr "Columna de ordenación"
-#: ../vn/column/vn-column-combo.c:355
+#: ../vn/column/vn-column-combo.c:353
msgid "The field number of the Grid model used to sort the column"
msgstr ""
"El número de campo del modelo del Grid que se usa para ordenar la columna"
diff --git a/po/nl.po b/po/nl.po
index 735cf69..67d1f5f 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hedera 1.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-09-22 15:30+0200\n"
+"POT-Creation-Date: 2014-10-09 10:39+0200\n"
"PO-Revision-Date: 2012-10-09 11:38+0200\n"
"Last-Translator: Alejandro T. Colombini Gómez \n"
"Language-Team: Dutch\n"
@@ -33,19 +33,19 @@ msgstr ""
msgid "Incompatible type for this param"
msgstr ""
-#: ../gvn/gvn-param.c:285
+#: ../gvn/gvn-param.c:289
msgid "Value"
msgstr ""
-#: ../gvn/gvn-param.c:286
+#: ../gvn/gvn-param.c:290
msgid "The value of the param"
msgstr ""
-#: ../gvn/gvn-param.c:292
+#: ../gvn/gvn-param.c:296
msgid "Master"
msgstr ""
-#: ../gvn/gvn-param.c:293
+#: ../gvn/gvn-param.c:297
msgid "The master parameter"
msgstr ""
@@ -70,7 +70,7 @@ msgstr ""
msgid "The character used for delimite the name of fields, tables..."
msgstr ""
-#: ../sql/sql-string.c:188 ../db/db-model.c:3337 ../db/db-request.c:449
+#: ../sql/sql-string.c:188 ../db/db-model.c:3249 ../db/db-request.c:449
msgid "SQL"
msgstr ""
@@ -259,80 +259,80 @@ msgstr ""
msgid "Can't allocate the needed memory"
msgstr ""
-#: ../db/db-model.c:3311 ../db/db-request.c:442 ../vn/vn-gui.c:1408
+#: ../db/db-model.c:3223 ../db/db-request.c:442 ../vn/vn-gui.c:1408
#: ../vn/vn-form.c:245
msgid "Connection"
msgstr ""
-#: ../db/db-model.c:3312
+#: ../db/db-model.c:3224
msgid "The DbConn that manages the connection to the database"
msgstr ""
-#: ../db/db-model.c:3319
+#: ../db/db-model.c:3231
msgid "Statement"
msgstr ""
-#: ../db/db-model.c:3320
+#: ../db/db-model.c:3232
msgid "The statement which retrieves the data"
msgstr ""
-#: ../db/db-model.c:3327
+#: ../db/db-model.c:3239
msgid "Use file"
msgstr ""
-#: ../db/db-model.c:3328
+#: ../db/db-model.c:3240
msgid ""
"If this is set to TRUE, the \"sql\" property will hold the name of a file "
"containing a query, if set to FALSE, \"sql\" is used as an SQL string"
msgstr ""
-#: ../db/db-model.c:3338
+#: ../db/db-model.c:3250
msgid ""
"Depending on the \"use-file\" property this will be the path to a file with "
"queries for the model or a SQL string"
msgstr ""
-#: ../db/db-model.c:3347
+#: ../db/db-model.c:3259
msgid "Main Table"
msgstr ""
-#: ../db/db-model.c:3348
+#: ../db/db-model.c:3260
msgid "The main table of the model"
msgstr ""
-#: ../db/db-model.c:3355
+#: ../db/db-model.c:3267
msgid "Update flags"
msgstr ""
-#: ../db/db-model.c:3356
+#: ../db/db-model.c:3268
msgid "The flags that indicate how a model can be modified"
msgstr ""
-#: ../db/db-model.c:3364
+#: ../db/db-model.c:3276
msgid "Result position"
msgstr ""
-#: ../db/db-model.c:3365
+#: ../db/db-model.c:3277
msgid ""
"The position where the query that will fill the model will be placed in a "
"multi-query"
msgstr ""
-#: ../db/db-model.c:3375
+#: ../db/db-model.c:3287
msgid "Partial delete"
msgstr ""
-#: ../db/db-model.c:3376
+#: ../db/db-model.c:3288
msgid ""
"When a row is deleted set all the fields from the table to null rather than "
"delete it."
msgstr ""
-#: ../db/db-model.c:3384
+#: ../db/db-model.c:3296
msgid "Batch"
msgstr ""
-#: ../db/db-model.c:3385
+#: ../db/db-model.c:3297
msgid "The batch assigned to the model"
msgstr ""
@@ -575,7 +575,7 @@ msgstr ""
msgid "Connection closed"
msgstr ""
-#: ../vn/vn-gui.c:919 ../vn/field/vn-http-image.c:119
+#: ../vn/vn-gui.c:919 ../vn/field/vn-http-image.c:127
msgid "Loading"
msgstr ""
@@ -587,7 +587,7 @@ msgstr ""
msgid "The connection used by Gui"
msgstr ""
-#: ../vn/vn-gui.c:1415 ../vn/vn-login.c:611
+#: ../vn/vn-gui.c:1415 ../vn/vn-login.c:613
msgid "Application"
msgstr ""
@@ -595,6 +595,14 @@ msgstr ""
msgid "The application handler for the entire program"
msgstr ""
+#: ../vn/vn-list-model.c:573
+msgid "Null row"
+msgstr ""
+
+#: ../vn/vn-list-model.c:574
+msgid "Whether the list model will add a null row or not"
+msgstr ""
+
#: ../vn/vn-handler.c:74
msgid "Are you sure you want to delete the current selection?"
msgstr ""
@@ -679,20 +687,20 @@ msgstr ""
msgid "The module"
msgstr ""
-#: ../vn/vn-login.c:396 ../vn/vn-login.c:398 ../vn/vn-login.c:490
+#: ../vn/vn-login.c:398 ../vn/vn-login.c:400 ../vn/vn-login.c:492
msgid "Login error"
msgstr ""
-#: ../vn/vn-login.c:456
+#: ../vn/vn-login.c:458
#, c-format
msgid "Bad connection settings, please check it."
msgstr ""
-#: ../vn/vn-login.c:488
+#: ../vn/vn-login.c:490
msgid "Please select a connection"
msgstr ""
-#: ../vn/vn-login.c:612
+#: ../vn/vn-login.c:614
msgid "The application"
msgstr ""
@@ -763,19 +771,19 @@ msgstr ""
msgid "The number of decimal places to display."
msgstr ""
-#: ../vn/field/vn-combo.c:298 ../vn/column/vn-column-combo.c:340
+#: ../vn/field/vn-combo.c:297 ../vn/column/vn-column-combo.c:338
msgid "Index column"
msgstr ""
-#: ../vn/field/vn-combo.c:299 ../vn/column/vn-column-combo.c:341
+#: ../vn/field/vn-combo.c:298 ../vn/column/vn-column-combo.c:339
msgid "The column index of the model"
msgstr ""
-#: ../vn/field/vn-combo.c:305 ../vn/column/vn-column-combo.c:347
+#: ../vn/field/vn-combo.c:304 ../vn/column/vn-column-combo.c:345
msgid "Show column"
msgstr ""
-#: ../vn/field/vn-combo.c:306 ../vn/column/vn-column-combo.c:348
+#: ../vn/field/vn-combo.c:305 ../vn/column/vn-column-combo.c:346
msgid "The column of the model shown by combo"
msgstr ""
@@ -826,37 +834,37 @@ msgstr ""
msgid "Undefined error"
msgstr ""
-#: ../vn/field/vn-http-image.c:145
-msgid "File loader already set"
-msgstr ""
-
#. Se usará para subir imagenes y cambiar nombres, o abrir un menu contextual
#. g_signal_connect (self, "event", G_CALLBACK (vn_http_image_on_event), self);
-#: ../vn/field/vn-http-image.c:184
+#: ../vn/field/vn-http-image.c:120 ../vn/field/vn-http-image.c:192
msgid "No image set"
msgstr ""
-#: ../vn/field/vn-http-image.c:212 ../vn/column/vn-column-image.c:536
+#: ../vn/field/vn-http-image.c:153
+msgid "File loader already set"
+msgstr ""
+
+#: ../vn/field/vn-http-image.c:220 ../vn/column/vn-column-image.c:536
msgid "File loader"
msgstr ""
-#: ../vn/field/vn-http-image.c:213
+#: ../vn/field/vn-http-image.c:221
msgid "A DbFileLoader, used to download the files"
msgstr ""
-#: ../vn/field/vn-http-image.c:220
+#: ../vn/field/vn-http-image.c:228
msgid "File path"
msgstr ""
-#: ../vn/field/vn-http-image.c:221
+#: ../vn/field/vn-http-image.c:229
msgid "The relative path to the image from file loader path"
msgstr ""
-#: ../vn/field/vn-http-image.c:228
+#: ../vn/field/vn-http-image.c:236
msgid "Image bytes"
msgstr ""
-#: ../vn/field/vn-http-image.c:229
+#: ../vn/field/vn-http-image.c:237
msgid "A GBytes structure with the image data"
msgstr ""
@@ -881,11 +889,11 @@ msgid ""
"A VnColumnStyleFunc to set the properties of each cell depending on its value"
msgstr ""
-#: ../vn/column/vn-column-combo.c:354
+#: ../vn/column/vn-column-combo.c:352
msgid "Sort column"
msgstr ""
-#: ../vn/column/vn-column-combo.c:355
+#: ../vn/column/vn-column-combo.c:353
msgid "The field number of the Grid model used to sort the column"
msgstr ""
diff --git a/sql/parser/scan.rl b/sql/parser/scan.rl
index 899369c..b6a4d16 100644
--- a/sql/parser/scan.rl
+++ b/sql/parser/scan.rl
@@ -21,9 +21,11 @@
#include "sql-parser.h"
#include "parser/gram.c"
-#define PARSE(token, value) \
- state->current = ts; \
- Parse(parser, SQL_PARSER_##token, value, state)
+#define PARSE(token, value)\
+G_STMT_START { \
+ state->current = ts; \
+ Parse (parser, SQL_PARSER_##token, value, state); \
+} G_STMT_END
/**
* SECTION: sql-parser
diff --git a/vn/Makefile.am b/vn/Makefile.am
index 26d3f44..57b0833 100644
--- a/vn/Makefile.am
+++ b/vn/Makefile.am
@@ -14,7 +14,7 @@ vn_include_HEADERS = \
vn-window.h \
vn-mod.h \
vn-form.h \
- vn-grid-model.h \
+ vn-list-model.h \
vn-grid.h \
vn-handler.h \
vn-set.h \
@@ -44,7 +44,7 @@ libvn_files = \
vn-window.c \
vn-mod.c \
vn-form.c \
- vn-grid-model.c \
+ vn-list-model.c \
vn-grid.c \
vn-handler.c \
vn-set.c
diff --git a/vn/column/vn-column-check.c b/vn/column/vn-column-check.c
index 4c77c8e..4193238 100644
--- a/vn/column/vn-column-check.c
+++ b/vn/column/vn-column-check.c
@@ -27,7 +27,7 @@ VnColumn * vn_column_check_new ()
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Private
static void vn_column_check_cb_toggled (GtkCellRendererToggle * cell,
- const gchar * path, VnColumn * obj)
+ const gchar * path, VnColumn * self)
{
gint col;
DbIter iter;
@@ -35,10 +35,10 @@ static void vn_column_check_cb_toggled (GtkCellRendererToggle * cell,
GValue new_value = G_VALUE_INIT;
const GValue * old_value;
- col = vn_column_get_column_index (obj);
- model = vn_column_get_model (obj);
+ col = vn_column_get_column_index (self);
+ model = vn_column_get_model (self);
- vn_column_get_iter (obj, path, &iter);
+ vn_column_get_iter (self, path, &iter);
old_value = db_model_get_value (model, &iter, col, NULL);
g_value_init (&new_value, G_TYPE_BOOLEAN);
@@ -47,17 +47,17 @@ static void vn_column_check_cb_toggled (GtkCellRendererToggle * cell,
db_model_set_value (model, &iter, col, &new_value, NULL);
}
-static void vn_column_check_set_editable (VnColumn * obj, gboolean editable)
+static void vn_column_check_set_editable (VnColumn * self, gboolean editable)
{
if (editable)
- g_signal_connect (obj->cell, "toggled",
- G_CALLBACK (vn_column_check_cb_toggled), obj);
+ g_signal_connect (self->cell, "toggled",
+ G_CALLBACK (vn_column_check_cb_toggled), self);
else
- g_signal_handlers_disconnect_by_func (obj->cell,
- vn_column_check_cb_toggled, obj);
+ g_signal_handlers_disconnect_by_func (self->cell,
+ vn_column_check_cb_toggled, self);
}
-static void vn_column_check_set_value (VnColumnCheck * obj, GtkTreeModel * model,
+static void vn_column_check_set_value (VnColumnCheck * self, GtkTreeModel * model,
GtkTreeIter * iter, GtkCellRendererToggle * cell, const GValue * value)
{
GValue new_value = G_VALUE_INIT;
@@ -76,15 +76,15 @@ static void vn_column_check_set_value (VnColumnCheck * obj, GtkTreeModel * model
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Class
-static void vn_column_check_init (VnColumnCheck * obj)
+static void vn_column_check_init (VnColumnCheck * self)
{
GtkCellRenderer * cell = gtk_cell_renderer_toggle_new ();
- VN_COLUMN_GET_CLASS (obj)->set_renderer (VN_COLUMN (obj), cell);
+ VN_COLUMN_GET_CLASS (self)->set_renderer (VN_COLUMN (self), cell);
}
-static void vn_column_check_finalize (VnColumnCheck * obj)
+static void vn_column_check_finalize (VnColumnCheck * self)
{
- G_OBJECT_CLASS (vn_column_check_parent_class)->finalize (G_OBJECT (obj));
+ G_OBJECT_CLASS (vn_column_check_parent_class)->finalize (G_OBJECT (self));
}
static void vn_column_check_class_init (VnColumnCheckClass * klass)
diff --git a/vn/column/vn-column-check.h b/vn/column/vn-column-check.h
index 32f1820..1617baf 100644
--- a/vn/column/vn-column-check.h
+++ b/vn/column/vn-column-check.h
@@ -21,11 +21,11 @@
#include
#define VN_TYPE_COLUMN_CHECK (vn_column_check_get_type ())
-#define VN_COLUMN_CHECK(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, VN_TYPE_COLUMN_CHECK, VnColumnCheck))
-#define VN_IS_COLUMN_CHECK(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, VN_TYPE_COLUMN_CHECK))
+#define VN_COLUMN_CHECK(self) (G_TYPE_CHECK_INSTANCE_CAST (self, VN_TYPE_COLUMN_CHECK, VnColumnCheck))
+#define VN_IS_COLUMN_CHECK(self) (G_TYPE_CHECK_INSTANCE_TYPE (self, VN_TYPE_COLUMN_CHECK))
#define VN_COLUMN_CHECK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST (klass, VN_TYPE_COLUMN_CHECK, VnColumnCheckClass))
#define VN_IS_COLUMN_CHECK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE (klass, VN_TYPE_COLUMN_CHECK))
-#define VN_COLUMN_CHECK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS (obj, VN_TYPE_COLUMN_CHECK, VnColumnCheckClass))
+#define VN_COLUMN_CHECK_GET_CLASS(self) (G_TYPE_INSTANCE_GET_CLASS (self, VN_TYPE_COLUMN_CHECK, VnColumnCheckClass))
typedef struct _VnColumnCheck VnColumnCheck;
typedef struct _VnColumnCheckClass VnColumnCheckClass;
diff --git a/vn/column/vn-column-combo.c b/vn/column/vn-column-combo.c
index 614785c..20f3811 100644
--- a/vn/column/vn-column-combo.c
+++ b/vn/column/vn-column-combo.c
@@ -16,7 +16,7 @@
*/
#include "vn-column-combo.h"
-#include "../vn-grid-model.h"
+#include "../vn-list-model.h"
static void vn_column_combo_model_holder_init (DbModelHolderInterface * iface);
@@ -32,41 +32,41 @@ VnColumn * vn_column_combo_new ()
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Private
-static void vn_column_combo_set_value (VnColumnCombo * obj, GtkTreeModel * model,
+static void vn_column_combo_set_value (VnColumnCombo * self, GtkTreeModel * model,
GtkTreeIter * tree_iter, GObject * cell, const GValue * value)
{
- if (obj->model && db_model_get_status (obj->model) == DB_MODEL_STATUS_READY)
+ if (self->model && db_model_get_status (self->model) == DB_MODEL_STATUS_READY)
{
DbIter iter;
if (gvn_value_is_null (value))
g_object_set_property (cell, "text", value);
- else if (db_model_search_value (obj->model, obj->index_column, &iter, value))
+ else if (db_model_search_value (self->model, self->index_column, &iter, value))
g_object_set_property (cell, "text",
- db_model_get_value (obj->model, &iter, obj->show_column, NULL));
+ db_model_get_value (self->model, &iter, self->show_column, NULL));
}
}
/*
* Restores the focus to the tree view after its edition.
*/
-static void vn_column_combo_restore_focus (VnColumnCombo * obj)
+static void vn_column_combo_restore_focus (VnColumnCombo * self)
{
gtk_widget_grab_focus
- (gtk_tree_view_column_get_tree_view (GTK_TREE_VIEW_COLUMN (obj)));
+ (gtk_tree_view_column_get_tree_view (GTK_TREE_VIEW_COLUMN (self)));
}
/*
* Sets the value of the entry to an empty string if a null value is selected.
*/
static gchar * vn_column_combo_on_format_entry_text (GtkComboBox * combo,
- gchar * path, VnColumnCombo * obj)
+ gchar * path, VnColumnCombo * self)
{
gchar * str;
GtkTreeIter iter;
- gtk_tree_model_get_iter_from_string (obj->tree_model, &iter, path);
- gtk_tree_model_get (obj->tree_model, &iter, obj->show_column, &str, -1);
+ gtk_tree_model_get_iter_from_string (self->tree, &iter, path);
+ gtk_tree_model_get (self->tree, &iter, self->show_column, &str, -1);
return str ? str : g_strdup ("");
}
@@ -75,47 +75,47 @@ static gchar * vn_column_combo_on_format_entry_text (GtkComboBox * combo,
* Sets the autocompletion functionality to the cell being edited.
*/
static void vn_column_combo_on_editing_started (GtkCellRenderer * cell,
- GtkCellEditable * cell_editable, const gchar * path, VnColumnCombo * obj)
+ GtkCellEditable * cell_editable, const gchar * path, VnColumnCombo * self)
{
GtkEntry * entry;
- if (!GTK_IS_COMBO_BOX (cell_editable) || !obj->tree_model)
+ if (!GTK_IS_COMBO_BOX (cell_editable) || !self->tree)
return;
entry = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (cell_editable)));
// Each edition uses a new cell_editable.
- if (obj->cell_editable)
+ if (self->cell_editable)
{
- g_signal_handlers_disconnect_by_func (obj->cell_editable,
- vn_column_combo_on_format_entry_text, obj);
- g_object_unref (obj->cell_editable);
+ g_signal_handlers_disconnect_by_func (self->cell_editable,
+ vn_column_combo_on_format_entry_text, self);
+ g_object_unref (self->cell_editable);
}
- if (!obj->completion_ready)
+ if (!self->completion_ready)
{
- gtk_entry_completion_set_model (obj->completion, obj->tree_model);
- gtk_entry_completion_set_text_column (obj->completion, obj->show_column);
- gtk_entry_completion_set_minimum_key_length (obj->completion, 1);
- obj->completion_ready = TRUE;
+ gtk_entry_completion_set_model (self->completion, self->tree);
+ gtk_entry_completion_set_text_column (self->completion, self->show_column);
+ gtk_entry_completion_set_minimum_key_length (self->completion, 1);
+ self->completion_ready = TRUE;
g_signal_connect_swapped (cell_editable, "editing-done",
- G_CALLBACK (vn_column_combo_restore_focus), obj);
- obj->cell_editable = g_object_ref (cell_editable);
+ G_CALLBACK (vn_column_combo_restore_focus), self);
+ self->cell_editable = g_object_ref (cell_editable);
}
- gtk_entry_set_completion (entry, obj->completion);
+ gtk_entry_set_completion (entry, self->completion);
g_signal_connect (cell_editable, "format-entry-text",
- G_CALLBACK (vn_column_combo_on_format_entry_text), obj);
- obj->cell_editable = g_object_ref (cell_editable);
+ G_CALLBACK (vn_column_combo_on_format_entry_text), self);
+ self->cell_editable = g_object_ref (cell_editable);
}
/*
* When the text is edited using an entry, tries to set its underlying value.
*/
static void vn_column_combo_on_edited (GtkCellRendererText * renderer,
- gchar * path, gchar * new_text, VnColumnCombo * obj)
+ gchar * path, gchar * new_text, VnColumnCombo * self)
{
DbIter iter;
GValue value = G_VALUE_INIT;
@@ -123,122 +123,121 @@ static void vn_column_combo_on_edited (GtkCellRendererText * renderer,
if (!g_strcmp0 (new_text, ""))
{
g_value_init (&value, GVN_TYPE_NULL);
- VN_COLUMN_GET_CLASS (obj)->value_changed (VN_COLUMN (obj), path, &value);
+ VN_COLUMN_GET_CLASS (self)->value_changed (VN_COLUMN (self), path, &value);
}
else
{
gvn_value_new_with_content (&value, G_TYPE_STRING, new_text);
- if (db_model_search_value (obj->model, obj->show_column, &iter, &value))
+ if (db_model_search_value (self->model, self->show_column, &iter, &value))
{
const GValue * val;
- if ((val = db_model_get_value (obj->model, &iter, obj->index_column, NULL)))
- VN_COLUMN_GET_CLASS (obj)->value_changed (VN_COLUMN (obj), path, val);
+ if ((val = db_model_get_value (self->model, &iter, self->index_column, NULL)))
+ VN_COLUMN_GET_CLASS (self)->value_changed (VN_COLUMN (self), path, val);
}
}
g_value_unset (&value);
- vn_column_combo_restore_focus (obj);
+ vn_column_combo_restore_focus (self);
}
-static void vn_column_combo_set_editable (VnColumnCombo * obj, gboolean editable)
+static void vn_column_combo_set_editable (VnColumnCombo * self, gboolean editable)
{
- VnColumn * parent = VN_COLUMN (obj);
+ VnColumn * parent = VN_COLUMN (self);
if (editable)
{
g_signal_connect (parent->cell, "editing-started",
- G_CALLBACK (vn_column_combo_on_editing_started), obj);
+ G_CALLBACK (vn_column_combo_on_editing_started), self);
g_signal_connect (parent->cell, "edited",
- G_CALLBACK (vn_column_combo_on_edited), obj);
+ G_CALLBACK (vn_column_combo_on_edited), self);
g_signal_connect_swapped (parent->cell, "editing-canceled",
- G_CALLBACK (vn_column_combo_restore_focus), obj);
+ G_CALLBACK (vn_column_combo_restore_focus), self);
- if (!obj->completion)
- obj->completion = gtk_entry_completion_new ();
+ if (!self->completion)
+ self->completion = gtk_entry_completion_new ();
}
else
{
- g_signal_handlers_disconnect_by_data (parent->cell, obj);
+ g_signal_handlers_disconnect_by_data (parent->cell, self);
- if (obj->cell_editable)
- g_signal_handlers_disconnect_by_data (obj->cell_editable, obj);
+ if (self->cell_editable)
+ g_signal_handlers_disconnect_by_data (self->cell_editable, self);
- if (obj->completion)
- g_clear_object (&obj->completion);
+ if (self->completion)
+ g_clear_object (&self->completion);
- obj->completion_ready = FALSE;
- obj->cell_editable = NULL;
+ self->completion_ready = FALSE;
+ self->cell_editable = NULL;
}
g_object_set (parent->cell, "editable", editable, NULL);
}
-static void vn_column_combo_set_null (VnColumnCombo * obj, gboolean null)
+static void vn_column_combo_set_null (VnColumnCombo * self, gboolean null)
{
- if (vn_column_get_model (VN_COLUMN (obj)) && obj->model)
- db_model_use_null_row (obj->model, null);
+ if (vn_column_get_model (VN_COLUMN (self)) && self->model)
+ vn_list_model_use_null_row (VN_LIST_MODEL (self->tree), null);
}
-static void vn_column_combo_model_changed (VnColumnCombo * obj)
+static void vn_column_combo_model_changed (VnColumnCombo * self)
{
- if (obj->model)
+ if (self->model)
{
- db_model_use_null_row (obj->model, VN_COLUMN (obj)->null);
+ vn_list_model_use_null_row (VN_LIST_MODEL (self->tree), VN_COLUMN (self)->null);
- if (obj->sort_column >= 0)
+ if (self->sort_column >= 0)
gtk_tree_view_column_set_sort_column_id (
- GTK_TREE_VIEW_COLUMN (obj), obj->sort_column);
+ GTK_TREE_VIEW_COLUMN (self), self->sort_column);
}
}
static void vn_column_combo_on_status_changed (DbModel * model,
- DbModelStatus status, VnColumnCombo * obj)
+ DbModelStatus status, VnColumnCombo * self)
{
if (status == DB_MODEL_STATUS_READY)
{
- g_object_set (VN_COLUMN (obj)->cell, "model", obj->tree_model, NULL);
- db_model_use_null_row (obj->model, VN_COLUMN (obj)->null);
+ g_object_set (VN_COLUMN (self)->cell, "model", self->tree, NULL);
+ vn_list_model_use_null_row (VN_LIST_MODEL (self->tree), VN_COLUMN (self)->null);
}
else
- g_object_set (VN_COLUMN (obj)->cell, "model", NULL, NULL);
+ g_object_set (VN_COLUMN (self)->cell, "model", NULL, NULL);
}
//+++++++++++++++++++++++++++++++++++++++++++++++++ DbModelHolder implementation
-static void vn_column_combo_set_model (VnColumnCombo * obj,
- DbModel * model)
+static void vn_column_combo_set_model (VnColumnCombo * self, DbModel * model)
{
g_return_if_fail (!model || DB_IS_MODEL (model));
- if (obj->model)
+ if (self->model)
{
- g_signal_handlers_disconnect_by_func (obj->model,
- vn_column_combo_on_status_changed, obj);
- g_clear_object (&obj->model);
- g_clear_object (&obj->tree_model);
+ g_signal_handlers_disconnect_by_func (self->model,
+ vn_column_combo_on_status_changed, self);
+ g_clear_object (&self->model);
+ g_clear_object (&self->tree);
- if (obj->completion_ready)
- gtk_entry_completion_set_model (obj->completion, NULL);
+ if (self->completion_ready)
+ gtk_entry_completion_set_model (self->completion, NULL);
}
if (model)
{
- obj->model = model;
- obj->tree_model = GTK_TREE_MODEL (vn_grid_model_new (model));
+ self->model = g_object_ref (model);
+ self->tree = GTK_TREE_MODEL (vn_list_model_new (model));
g_signal_connect (model, "status-changed",
- G_CALLBACK (vn_column_combo_on_status_changed), obj);
+ G_CALLBACK (vn_column_combo_on_status_changed), self);
- if (obj->completion_ready)
- gtk_entry_completion_set_model (obj->completion, obj->tree_model);
+ if (self->completion_ready)
+ gtk_entry_completion_set_model (self->completion, self->tree);
}
}
-static DbModel * vn_column_combo_get_model (VnColumnCombo * obj)
+static DbModel * vn_column_combo_get_model (VnColumnCombo * self)
{
- return obj->model;
+ return self->model;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Properties
@@ -251,75 +250,74 @@ enum
,PROP_MODEL
};
-static void vn_column_combo_set_property (VnColumnCombo * obj, guint id,
+static void vn_column_combo_set_property (VnColumnCombo * self, guint id,
const GValue * value, GParamSpec * pspec)
{
switch (id)
{
case PROP_INDEX_COLUMN:
- obj->index_column = g_value_get_uint (value);
+ self->index_column = g_value_get_uint (value);
break;
case PROP_SHOW_COLUMN:
- obj->show_column = g_value_get_uint (value);
- g_object_set (VN_COLUMN (obj)->cell, "text-column", obj->show_column,
+ self->show_column = g_value_get_uint (value);
+ g_object_set (VN_COLUMN (self)->cell, "text-column", self->show_column,
NULL);
break;
case PROP_SORT_COLUMN:
- obj->sort_column = g_value_get_int (value);
+ self->sort_column = g_value_get_int (value);
break;
case PROP_MODEL:
- vn_column_combo_set_model (obj, g_value_dup_object (value));
+ vn_column_combo_set_model (self, g_value_get_object (value));
break;
default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec);
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (self, id, pspec);
}
}
-static void vn_column_combo_get_property (VnColumnCombo * obj, guint id,
+static void vn_column_combo_get_property (VnColumnCombo * self, guint id,
GValue * value, GParamSpec * pspec)
{
switch (id)
{
case PROP_INDEX_COLUMN:
- g_value_set_uint (value, obj->index_column);
+ g_value_set_uint (value, self->index_column);
break;
case PROP_SHOW_COLUMN:
- g_value_set_uint (value, obj->show_column);
+ g_value_set_uint (value, self->show_column);
break;
case PROP_SORT_COLUMN:
- g_value_set_int (value, obj->sort_column);
+ g_value_set_int (value, self->sort_column);
break;
case PROP_MODEL:
- g_value_set_object (value, obj->model);
+ g_value_set_object (value, self->model);
break;
default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec);
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (self, id, pspec);
}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Class
-static void vn_column_combo_init (VnColumnCombo * obj)
+static void vn_column_combo_init (VnColumnCombo * self)
{
GtkCellRenderer * cell = gtk_cell_renderer_combo_new ();
- obj->model = NULL;
- obj->tree_model = NULL;
- obj->completion = NULL;
- obj->completion_ready = FALSE;
- obj->cell_editable = NULL;
+ self->model = NULL;
+ self->tree = NULL;
+ self->completion = NULL;
+ self->completion_ready = FALSE;
+ self->cell_editable = NULL;
- VN_COLUMN_GET_CLASS (obj)->set_renderer (VN_COLUMN (obj), cell);
+ VN_COLUMN_GET_CLASS (self)->set_renderer (VN_COLUMN (self), cell);
}
-static void vn_column_combo_finalize (VnColumnCombo * obj)
+static void vn_column_combo_finalize (VnColumnCombo * self)
{
- vn_column_combo_set_model (obj, NULL);
+ vn_column_combo_set_model (self, NULL);
- if (obj->completion)
- g_object_unref (obj->completion);
+ if (self->completion)
+ g_object_unref (self->completion);
-
- G_OBJECT_CLASS (vn_column_combo_parent_class)->finalize (G_OBJECT (obj));
+ G_OBJECT_CLASS (vn_column_combo_parent_class)->finalize (G_OBJECT (self));
}
static void vn_column_combo_class_init (VnColumnComboClass * klass)
diff --git a/vn/column/vn-column-combo.h b/vn/column/vn-column-combo.h
index e6e86b6..1590a62 100644
--- a/vn/column/vn-column-combo.h
+++ b/vn/column/vn-column-combo.h
@@ -21,11 +21,11 @@
#include
#define VN_TYPE_COLUMN_COMBO (vn_column_combo_get_type ())
-#define VN_COLUMN_COMBO(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, VN_TYPE_COLUMN_COMBO, VnColumnCombo))
-#define VN_IS_COLUMN_COMBO(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, VN_TYPE_COLUMN_COMBO))
+#define VN_COLUMN_COMBO(self) (G_TYPE_CHECK_INSTANCE_CAST (self, VN_TYPE_COLUMN_COMBO, VnColumnCombo))
+#define VN_IS_COLUMN_COMBO(self) (G_TYPE_CHECK_INSTANCE_TYPE (self, VN_TYPE_COLUMN_COMBO))
#define VN_COLUMN_COMBO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST (klass, VN_TYPE_COLUMN_COMBO, VnColumnComboClass))
#define VN_IS_COLUMN_COMBO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE (klass, VN_TYPE_COLUMN_COMBO))
-#define VN_COLUMN_COMBO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS (obj, VN_TYPE_COLUMN_COMBO, VnColumnComboClass))
+#define VN_COLUMN_COMBO_GET_CLASS(self) (G_TYPE_INSTANCE_GET_CLASS (self, VN_TYPE_COLUMN_COMBO, VnColumnComboClass))
typedef struct _VnColumnCombo VnColumnCombo;
typedef struct _VnColumnComboClass VnColumnComboClass;
@@ -35,7 +35,7 @@ struct _VnColumnCombo
VnColumn parent;
/* */
DbModel * model;
- GtkTreeModel * tree_model;
+ GtkTreeModel * tree;
guint index_column;
guint show_column;
gint sort_column;
diff --git a/vn/column/vn-column-entry.c b/vn/column/vn-column-entry.c
index c7b2836..f01b67c 100644
--- a/vn/column/vn-column-entry.c
+++ b/vn/column/vn-column-entry.c
@@ -27,7 +27,7 @@ VnColumn * vn_column_entry_new ()
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Private
static void vn_column_entry_cb_edited (GtkCellRendererText * cell,
- const gchar * path, gchar * text, VnColumnEntry * obj)
+ const gchar * path, gchar * text, VnColumnEntry * self)
{
GValue value = G_VALUE_INIT;
@@ -39,27 +39,27 @@ static void vn_column_entry_cb_edited (GtkCellRendererText * cell,
else
g_value_init (&value, GVN_TYPE_NULL);
- VN_COLUMN_GET_CLASS (obj)->value_changed (VN_COLUMN (obj), path, &value);
+ VN_COLUMN_GET_CLASS (self)->value_changed (VN_COLUMN (self), path, &value);
g_value_unset (&value);
}
-static void vn_column_entry_set_editable (VnColumn * obj, gboolean editable)
+static void vn_column_entry_set_editable (VnColumn * self, gboolean editable)
{
- g_object_set (obj->cell, "editable", editable, NULL);
+ g_object_set (self->cell, "editable", editable, NULL);
if (editable)
- g_signal_connect (obj->cell, "edited",
- G_CALLBACK (vn_column_entry_cb_edited), obj);
+ g_signal_connect (self->cell, "edited",
+ G_CALLBACK (vn_column_entry_cb_edited), self);
else
- g_signal_handlers_disconnect_by_func (obj->cell,
- vn_column_entry_cb_edited, obj);
+ g_signal_handlers_disconnect_by_func (self->cell,
+ vn_column_entry_cb_edited, self);
}
-static void vn_column_entry_set_value (VnColumnEntry * obj, GtkTreeModel * model,
+static void vn_column_entry_set_value (VnColumnEntry * self, GtkTreeModel * model,
GtkTreeIter * iter, GObject * cell, const GValue * value)
{
GValue new_value = G_VALUE_INIT;
- gvn_value_to_format_string (value, obj->format, &new_value);
+ gvn_value_to_format_string (value, self->format, &new_value);
g_object_set_property (cell, "text", &new_value);
g_value_unset (&new_value);
}
@@ -71,46 +71,46 @@ enum
PROP_FORMAT = 1
};
-static void vn_column_entry_set_property (VnColumnEntry * obj, guint id,
+static void vn_column_entry_set_property (VnColumnEntry * self, guint id,
const GValue * value, GParamSpec * pspec)
{
switch (id)
{
case PROP_FORMAT:
- g_free (obj->format);
- obj->format = g_value_dup_string (value);
+ g_free (self->format);
+ self->format = g_value_dup_string (value);
break;
default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec);
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (self, id, pspec);
}
}
-static void vn_column_entry_get_property (VnColumnEntry * obj, guint id,
+static void vn_column_entry_get_property (VnColumnEntry * self, guint id,
GValue * value, GParamSpec * pspec)
{
switch (id)
{
case PROP_FORMAT:
- g_value_set_string (value, obj->format);
+ g_value_set_string (value, self->format);
break;
default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec);
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (self, id, pspec);
}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Class
-static void vn_column_entry_init (VnColumnEntry * obj)
+static void vn_column_entry_init (VnColumnEntry * self)
{
GtkCellRenderer * cell = gtk_cell_renderer_text_new ();
- VN_COLUMN_GET_CLASS (obj)->set_renderer (VN_COLUMN (obj), cell);
- obj->format = NULL;
+ VN_COLUMN_GET_CLASS (self)->set_renderer (VN_COLUMN (self), cell);
+ self->format = NULL;
}
-static void vn_column_entry_finalize (VnColumnEntry * obj)
+static void vn_column_entry_finalize (VnColumnEntry * self)
{
- g_free (obj->format);
- G_OBJECT_CLASS (vn_column_entry_parent_class)->finalize (G_OBJECT (obj));
+ g_free (self->format);
+ G_OBJECT_CLASS (vn_column_entry_parent_class)->finalize (G_OBJECT (self));
}
static void vn_column_entry_class_init (VnColumnEntryClass * klass)
diff --git a/vn/column/vn-column-entry.h b/vn/column/vn-column-entry.h
index 95a6f7c..5fc27c7 100644
--- a/vn/column/vn-column-entry.h
+++ b/vn/column/vn-column-entry.h
@@ -21,11 +21,11 @@
#include
#define VN_TYPE_COLUMN_ENTRY (vn_column_entry_get_type ())
-#define VN_COLUMN_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, VN_TYPE_COLUMN_ENTRY, VnColumnEntry))
-#define VN_IS_COLUMN_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, VN_TYPE_COLUMN_ENTRY))
+#define VN_COLUMN_ENTRY(self) (G_TYPE_CHECK_INSTANCE_CAST (self, VN_TYPE_COLUMN_ENTRY, VnColumnEntry))
+#define VN_IS_COLUMN_ENTRY(self) (G_TYPE_CHECK_INSTANCE_TYPE (self, VN_TYPE_COLUMN_ENTRY))
#define VN_COLUMN_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST (klass, VN_TYPE_COLUMN_ENTRY, VnColumnEntryClass))
#define VN_IS_COLUMN_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE (klass, VN_TYPE_COLUMN_ENTRY))
-#define VN_COLUMN_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS (obj, VN_TYPE_COLUMN_ENTRY, VnColumnEntryClass))
+#define VN_COLUMN_ENTRY_GET_CLASS(self) (G_TYPE_INSTANCE_GET_CLASS (self, VN_TYPE_COLUMN_ENTRY, VnColumnEntryClass))
typedef struct _VnColumnEntry VnColumnEntry;
typedef struct _VnColumnEntryClass VnColumnEntryClass;
diff --git a/vn/column/vn-column-image.c b/vn/column/vn-column-image.c
index d1798d5..b1a490f 100644
--- a/vn/column/vn-column-image.c
+++ b/vn/column/vn-column-image.c
@@ -16,7 +16,7 @@
*/
#include "vn-column-image.h"
-#include "../vn-grid-model.h"
+#include "../vn-list-model.h"
#define LOAD_IMAGE _IMAGE_DIR"/load.gif"
@@ -24,7 +24,7 @@ G_DEFINE_TYPE (VnColumnImage, vn_column_image, VN_TYPE_COLUMN);
typedef struct
{
- VnColumnImage * obj;
+ VnColumnImage * self;
GtkTreeModel * model;
GtkTreeIter * iter;
GtkCellRenderer * cell;
@@ -48,9 +48,9 @@ VnColumn * vn_column_image_new ()
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Private
-static void vn_column_image_download_error (VnColumnImage * obj, const GError * error)
+static void vn_column_image_download_error (VnColumnImage * self, const GError * error)
{
- g_object_set (VN_COLUMN (obj)->cell, "icon-name", "image-missing", NULL);
+ g_object_set (VN_COLUMN (self)->cell, "icon-name", "image-missing", NULL);
}
static void free_object (gpointer object)
@@ -140,7 +140,7 @@ static void vn_column_image_on_download_tooltip (DbFileLoader * fl,
}
static gboolean vn_column_image_on_query_tooltip (GtkTreeView * view,
- gint x, gint y, gboolean k, GtkTooltip * tip, VnColumnImage * obj)
+ gint x, gint y, gboolean k, GtkTooltip * tip, VnColumnImage * self)
{
gboolean ret = FALSE;
TooltipData * data;
@@ -154,7 +154,7 @@ static gboolean vn_column_image_on_query_tooltip (GtkTreeView * view,
gtk_tree_view_convert_bin_window_to_widget_coords (view, x, y, &wx, &wy);
gtk_tree_view_get_background_area
- (view, path, GTK_TREE_VIEW_COLUMN (obj), &rect);
+ (view, path, GTK_TREE_VIEW_COLUMN (self), &rect);
if (!(rect.x < wx && wx < rect.x + rect.width))
{
@@ -165,19 +165,19 @@ static gboolean vn_column_image_on_query_tooltip (GtkTreeView * view,
else
return FALSE;
- if (obj->tooltips
- && (data = g_hash_table_lookup (obj->tooltips, iter.user_data))
+ if (self->tooltips
+ && (data = g_hash_table_lookup (self->tooltips, iter.user_data))
&& !data->error && data->path)
{
gtk_tree_view_set_tooltip_cell (view, tip, path,
- GTK_TREE_VIEW_COLUMN (obj), VN_COLUMN (obj)->cell);
+ GTK_TREE_VIEW_COLUMN (self), VN_COLUMN (self)->cell);
if (!data->image)
{
data->image = g_object_ref_sink (gtk_image_new_from_file (LOAD_IMAGE));
gtk_tooltip_set_custom (tip, data->image);
- db_file_loader_download (obj->loader, data->path,
+ db_file_loader_download (self->loader, data->path,
(DbFileLoaderCallbackFunc) vn_column_image_on_download_tooltip, data);
}
else
@@ -190,7 +190,7 @@ static gboolean vn_column_image_on_query_tooltip (GtkTreeView * view,
return ret;
}
-static GdkPixbuf * vn_column_image_set_image (VnColumnImage * obj,
+static GdkPixbuf * vn_column_image_set_image (VnColumnImage * self,
GtkCellRenderer * cell, GBytes * bytes, gboolean pix)
{
gsize size;
@@ -211,7 +211,7 @@ static GdkPixbuf * vn_column_image_set_image (VnColumnImage * obj,
else
{
gdk_pixbuf_loader_close (loader, NULL);
- vn_column_image_download_error (obj, error);
+ vn_column_image_download_error (self, error);
g_error_free (error);
}
@@ -221,32 +221,32 @@ static GdkPixbuf * vn_column_image_set_image (VnColumnImage * obj,
return pix && pixbuf ? g_object_ref (pixbuf) : NULL;
}
-static void vn_column_image_on_download (DbFileLoader * obj, GBytes * bytes,
+static void vn_column_image_on_download (DbFileLoader * self, GBytes * bytes,
const GError * error, DownloadData * data)
{
GtkTreePath * path;
if (error)
- vn_column_image_download_error (data->obj, error);
- else if (bytes && vn_grid_model_iter_is_valid (data->iter, data->model))
+ vn_column_image_download_error (data->self, error);
+ else if (bytes && vn_list_model_iter_is_valid (data->iter, data->model))
{
- if (data->obj->loaded)
- g_hash_table_replace (data->obj->loaded, g_strdup (data->name),
- vn_column_image_set_image (data->obj, data->cell, bytes, TRUE));
+ if (data->self->loaded)
+ g_hash_table_replace (data->self->loaded, g_strdup (data->name),
+ vn_column_image_set_image (data->self, data->cell, bytes, TRUE));
path = gtk_tree_model_get_path (data->model, data->iter);
gtk_tree_model_row_changed (data->model, path, data->iter);
gtk_tree_path_free (path);
}
- g_object_unref (data->obj);
+ g_object_unref (data->self);
g_object_unref (data->model);
gtk_tree_iter_free (data->iter);
g_free (data->name);
g_free (data);
}
-static void vn_column_image_set_value (VnColumnImage * obj, GtkTreeModel * model,
+static void vn_column_image_set_value (VnColumnImage * self, GtkTreeModel * model,
GtkTreeIter * iter, GtkCellRenderer * cell, const GValue * value)
{
GType type = G_VALUE_TYPE (value);
@@ -258,9 +258,9 @@ static void vn_column_image_set_value (VnColumnImage * obj, GtkTreeModel * model
GBytes * bytes = g_value_get_boxed (value);
if (bytes)
- vn_column_image_set_image (obj, cell, bytes, FALSE);
+ vn_column_image_set_image (self, cell, bytes, FALSE);
else
- vn_column_image_download_error (obj, NULL);
+ vn_column_image_download_error (self, NULL);
}
else if (type == G_TYPE_STRING)
{
@@ -268,41 +268,41 @@ static void vn_column_image_set_value (VnColumnImage * obj, GtkTreeModel * model
gchar * cell_name;
const gchar * name = g_value_get_string (value);
GtkTreeView * view = GTK_TREE_VIEW
- (gtk_tree_view_column_get_tree_view (GTK_TREE_VIEW_COLUMN (obj)));
+ (gtk_tree_view_column_get_tree_view (GTK_TREE_VIEW_COLUMN (self)));
- if (view != obj->tree_view)
+ if (view != self->tree_view)
{
- if (GTK_IS_TREE_VIEW (obj->tree_view))
- g_signal_handlers_disconnect_by_func (obj->tree_view,
- vn_column_image_on_query_tooltip, obj);
+ if (GTK_IS_TREE_VIEW (self->tree_view))
+ g_signal_handlers_disconnect_by_func (self->tree_view,
+ vn_column_image_on_query_tooltip, self);
g_signal_connect (view, "query-tooltip",
- G_CALLBACK (vn_column_image_on_query_tooltip), obj);
+ G_CALLBACK (vn_column_image_on_query_tooltip), self);
g_object_set (view, "has-tooltip", TRUE, NULL);
- obj->tree_view = view;
+ self->tree_view = view;
}
- if (obj->loaded)
+ if (self->loaded)
{
- if (g_hash_table_contains (obj->loaded, name))
+ if (g_hash_table_contains (self->loaded, name))
{
- GdkPixbuf * pixbuf = g_hash_table_lookup (obj->loaded, name);
+ GdkPixbuf * pixbuf = g_hash_table_lookup (self->loaded, name);
if (pixbuf)
g_object_set (cell, "pixbuf", pixbuf, NULL);
else
- vn_column_image_download_error (obj, NULL);
+ vn_column_image_download_error (self, NULL);
- if (obj->tooltips
- && !g_hash_table_contains (obj->tooltips, iter->user_data))
+ if (self->tooltips
+ && !g_hash_table_contains (self->tooltips, iter->user_data))
{
TooltipData * data = g_new (TooltipData, 1);
- data->path = g_strconcat ("/", obj->tooltip_path, "/", name, NULL);
+ data->path = g_strconcat ("/", self->tooltip_path, "/", name, NULL);
data->error = FALSE;
- data->tooltip_size = obj->tooltip_size;
+ data->tooltip_size = self->tooltip_size;
data->image = NULL;
- g_hash_table_insert (obj->tooltips, iter->user_data, data);
+ g_hash_table_insert (self->tooltips, iter->user_data, data);
}
return;
@@ -314,7 +314,7 @@ static void vn_column_image_set_value (VnColumnImage * obj, GtkTreeModel * model
GtkTreePath * path = gtk_tree_model_get_path (model, iter);
gtk_tree_view_get_cell_area
- (view, path, GTK_TREE_VIEW_COLUMN (obj), &cell_rect);
+ (view, path, GTK_TREE_VIEW_COLUMN (self), &cell_rect);
gtk_tree_path_free (path);
gtk_tree_view_get_visible_rect (view, &view_rect);
gtk_tree_view_convert_tree_to_bin_window_coords
@@ -326,53 +326,53 @@ static void vn_column_image_set_value (VnColumnImage * obj, GtkTreeModel * model
}
}
else
- obj->loaded = g_hash_table_new_full
+ self->loaded = g_hash_table_new_full
((GHashFunc) g_str_hash, (GEqualFunc) g_str_equal,
(GDestroyNotify) g_free, (GDestroyNotify) free_object);
cell_name =
-/*obj->external_loader ?
-g_strconcat ("/", obj->path, "/", name, NULL):*/
+/*self->external_loader ?
+g_strconcat ("/", self->path, "/", name, NULL):*/
g_strdup (name);
- g_hash_table_insert (obj->loaded, g_strdup (cell_name), NULL);
+ g_hash_table_insert (self->loaded, g_strdup (cell_name), NULL);
- if (!obj->loader)
- obj->loader = db_file_loader_new (obj->host, obj->path);
+ if (!self->loader)
+ self->loader = db_file_loader_new (self->host, self->path);
- if (obj->tooltip_path && !obj->tooltips)
- obj->tooltips = g_hash_table_new_full
+ if (self->tooltip_path && !self->tooltips)
+ self->tooltips = g_hash_table_new_full
((GHashFunc) g_direct_hash, (GEqualFunc) g_direct_equal,
(GDestroyNotify) NULL, (GDestroyNotify) free_tooltip_data);
data = g_new (DownloadData, 1);
- data->obj = g_object_ref (obj);
+ data->self = g_object_ref (self);
data->model = g_object_ref (model);
data->iter = gtk_tree_iter_copy (iter);
data->cell = cell;
data->name = cell_name;
- db_file_loader_download (obj->loader, cell_name,
+ db_file_loader_download (self->loader, cell_name,
(DbFileLoaderCallbackFunc) vn_column_image_on_download, data);
}
}
-static void vn_column_image_on_model_changed (VnColumnImage * obj)
+static void vn_column_image_on_model_changed (VnColumnImage * self)
{
- if (obj->loader)
- db_file_loader_cancel_all (obj->loader);
+ if (self->loader)
+ db_file_loader_cancel_all (self->loader);
- if (obj->loaded)
- g_hash_table_destroy (obj->loaded);
+ if (self->loaded)
+ g_hash_table_destroy (self->loaded);
- if (obj->tooltips)
- g_hash_table_destroy (obj->tooltips);
+ if (self->tooltips)
+ g_hash_table_destroy (self->tooltips);
- obj->loaded = NULL;
- obj->tooltips = NULL;
+ self->loaded = NULL;
+ self->tooltips = NULL;
}
-static void vn_column_image_set_editable (VnColumn * obj, gboolean editable){}
+static void vn_column_image_set_editable (VnColumn * self, gboolean editable){}
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Property
@@ -385,101 +385,101 @@ enum
,PROP_FILE_LOADER
};
-static void vn_column_image_set_property (VnColumnImage * obj, guint id,
+static void vn_column_image_set_property (VnColumnImage * self, guint id,
const GValue * value, GParamSpec * pspec)
{
switch (id)
{
case PROP_HOST:
- g_free (obj->host);
- obj->host = g_value_dup_string (value);
+ g_free (self->host);
+ self->host = g_value_dup_string (value);
break;
case PROP_PATH:
- g_free (obj->path);
- obj->path = g_value_dup_string (value);
+ g_free (self->path);
+ self->path = g_value_dup_string (value);
break;
case PROP_TOOLTIP_PATH:
- g_free (obj->tooltip_path);
- obj->tooltip_path = g_value_dup_string (value);
+ g_free (self->tooltip_path);
+ self->tooltip_path = g_value_dup_string (value);
break;
case PROP_TOOLTIP_SIZE:
- obj->tooltip_size = g_value_get_int (value);
+ self->tooltip_size = g_value_get_int (value);
break;
case PROP_FILE_LOADER:
- obj->loader = g_value_dup_object (value);
- if (obj->loader)
- obj->external_loader = TRUE;
+ self->loader = g_value_dup_object (value);
+ if (self->loader)
+ self->external_loader = TRUE;
break;
default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec);
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (self, id, pspec);
}
}
-static void vn_column_image_get_property (VnColumnImage * obj, guint id,
+static void vn_column_image_get_property (VnColumnImage * self, guint id,
GValue * value, GParamSpec * pspec)
{
switch (id)
{
case PROP_HOST:
- g_value_set_string (value, obj->host);
+ g_value_set_string (value, self->host);
break;
case PROP_PATH:
- g_value_set_string (value, obj->path);
+ g_value_set_string (value, self->path);
break;
case PROP_TOOLTIP_PATH:
- g_value_set_string (value, obj->tooltip_path);
+ g_value_set_string (value, self->tooltip_path);
break;
case PROP_TOOLTIP_SIZE:
- g_value_set_int (value, obj->tooltip_size);
+ g_value_set_int (value, self->tooltip_size);
break;
case PROP_FILE_LOADER:
- g_value_set_object (value, obj->loader);
+ g_value_set_object (value, self->loader);
break;
default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec);
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (self, id, pspec);
}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Class
-static void vn_column_image_init (VnColumnImage * obj)
+static void vn_column_image_init (VnColumnImage * self)
{
GtkCellRenderer * cell = gtk_cell_renderer_pixbuf_new ();
- VN_COLUMN_GET_CLASS (obj)->set_renderer (VN_COLUMN (obj), cell);
+ VN_COLUMN_GET_CLASS (self)->set_renderer (VN_COLUMN (self), cell);
- obj->host = NULL;
- obj->path = NULL;
- obj->tooltip_path = NULL;
- obj->loader = NULL;
- obj->external_loader = FALSE;
- obj->loaded = NULL;
- obj->tooltips = NULL;
- obj->tree_view = NULL;
+ self->host = NULL;
+ self->path = NULL;
+ self->tooltip_path = NULL;
+ self->loader = NULL;
+ self->external_loader = FALSE;
+ self->loaded = NULL;
+ self->tooltips = NULL;
+ self->tree_view = NULL;
}
-static void vn_column_image_finalize (VnColumnImage * obj)
+static void vn_column_image_finalize (VnColumnImage * self)
{
- g_free (obj->host);
- g_free (obj->path);
- g_free (obj->tooltip_path);
+ g_free (self->host);
+ g_free (self->path);
+ g_free (self->tooltip_path);
- if (obj->loader)
+ if (self->loader)
{
- db_file_loader_cancel_all (obj->loader);
- g_object_unref (obj->loader);
+ db_file_loader_cancel_all (self->loader);
+ g_object_unref (self->loader);
}
- if (obj->loaded)
- g_hash_table_destroy (obj->loaded);
+ if (self->loaded)
+ g_hash_table_destroy (self->loaded);
- if (obj->tooltips)
- g_hash_table_destroy (obj->tooltips);
+ if (self->tooltips)
+ g_hash_table_destroy (self->tooltips);
- if (GTK_IS_TREE_VIEW (obj->tree_view))
- g_signal_handlers_disconnect_by_func (obj->tree_view,
- vn_column_image_on_query_tooltip, obj);
+ if (GTK_IS_TREE_VIEW (self->tree_view))
+ g_signal_handlers_disconnect_by_func (self->tree_view,
+ vn_column_image_on_query_tooltip, self);
- G_OBJECT_CLASS (vn_column_image_parent_class)->finalize (G_OBJECT (obj));
+ G_OBJECT_CLASS (vn_column_image_parent_class)->finalize (G_OBJECT (self));
}
static void vn_column_image_class_init (VnColumnImageClass * klass)
diff --git a/vn/column/vn-column-image.h b/vn/column/vn-column-image.h
index 5c6f561..971bf74 100644
--- a/vn/column/vn-column-image.h
+++ b/vn/column/vn-column-image.h
@@ -21,11 +21,11 @@
#include
#define VN_TYPE_COLUMN_IMAGE (vn_column_image_get_type ())
-#define VN_COLUMN_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, VN_TYPE_COLUMN_IMAGE, VnColumnImage))
-#define VN_IS_COLUMN_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, VN_TYPE_COLUMN_IMAGE))
+#define VN_COLUMN_IMAGE(self) (G_TYPE_CHECK_INSTANCE_CAST (self, VN_TYPE_COLUMN_IMAGE, VnColumnImage))
+#define VN_IS_COLUMN_IMAGE(self) (G_TYPE_CHECK_INSTANCE_TYPE (self, VN_TYPE_COLUMN_IMAGE))
#define VN_COLUMN_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST (klass, VN_TYPE_COLUMN_IMAGE, VnColumnImageClass))
#define VN_IS_COLUMN_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE (klass, VN_TYPE_COLUMN_IMAGE))
-#define VN_COLUMN_IMAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS (obj, VN_TYPE_COLUMN_IMAGE, VnColumnImageClass))
+#define VN_COLUMN_IMAGE_GET_CLASS(self) (G_TYPE_INSTANCE_GET_CLASS (self, VN_TYPE_COLUMN_IMAGE, VnColumnImageClass))
typedef struct _VnColumnImage VnColumnImage;
typedef struct _VnColumnImageClass VnColumnImageClass;
diff --git a/vn/column/vn-column-spin.c b/vn/column/vn-column-spin.c
index 9a46979..8b8b27b 100644
--- a/vn/column/vn-column-spin.c
+++ b/vn/column/vn-column-spin.c
@@ -16,7 +16,7 @@
*/
#include "vn-column-spin.h"
-#include "../vn-grid-model.h"
+#include "../vn-list-model.h"
G_DEFINE_TYPE (VnColumnSpin, vn_column_spin, VN_TYPE_COLUMN);
@@ -28,7 +28,7 @@ VnColumn * vn_column_spin_new ()
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Private
static void vn_column_spin_on_edited (GtkCellRendererSpin * cell,
- const gchar * path, gchar * text, VnColumnSpin * obj)
+ const gchar * path, gchar * text, VnColumnSpin * self)
{
GValue value = G_VALUE_INIT;
@@ -40,12 +40,12 @@ static void vn_column_spin_on_edited (GtkCellRendererSpin * cell,
else
g_value_init (&value, GVN_TYPE_NULL);
- VN_COLUMN_GET_CLASS (obj)->value_changed (VN_COLUMN (obj), path, &value);
+ VN_COLUMN_GET_CLASS (self)->value_changed (VN_COLUMN (self), path, &value);
g_value_unset (&value);
}
void vn_column_spin_on_editing_started (GtkCellRenderer * renderer,
- GtkEntry * entry, gchar * path, GtkTreeViewColumn * obj)
+ GtkEntry * entry, gchar * path, GtkTreeViewColumn * self)
{
GtkTreeIter iter;
GtkTreeModel * model;
@@ -54,13 +54,13 @@ void vn_column_spin_on_editing_started (GtkCellRenderer * renderer,
if (!GTK_IS_SPIN_BUTTON (entry))
return;
- tree = GTK_TREE_VIEW (gtk_tree_view_column_get_tree_view (obj));
+ tree = GTK_TREE_VIEW (gtk_tree_view_column_get_tree_view (self));
model = gtk_tree_view_get_model (tree);
if (gtk_tree_model_get_iter_from_string (model, &iter, path))
{
GValue value = G_VALUE_INIT;
- gint col = vn_column_get_column_index (VN_COLUMN (obj));
+ gint col = vn_column_get_column_index (VN_COLUMN (self));
gtk_tree_model_get_value (model, &iter, col, &value);
@@ -69,27 +69,27 @@ void vn_column_spin_on_editing_started (GtkCellRenderer * renderer,
}
}
-static void vn_column_spin_set_editable (VnColumn * obj, gboolean editable)
+static void vn_column_spin_set_editable (VnColumn * self, gboolean editable)
{
if (editable)
{
- g_signal_connect (obj->cell, "editing-started",
- G_CALLBACK (vn_column_spin_on_editing_started), obj);
- g_signal_connect (obj->cell, "edited",
- G_CALLBACK (vn_column_spin_on_edited), obj);
+ g_signal_connect (self->cell, "editing-started",
+ G_CALLBACK (vn_column_spin_on_editing_started), self);
+ g_signal_connect (self->cell, "edited",
+ G_CALLBACK (vn_column_spin_on_edited), self);
}
else
{
- g_signal_handlers_disconnect_by_func (obj->cell,
- vn_column_spin_on_editing_started, obj);
- g_signal_handlers_disconnect_by_func (obj->cell,
- vn_column_spin_on_edited, obj);
+ g_signal_handlers_disconnect_by_func (self->cell,
+ vn_column_spin_on_editing_started, self);
+ g_signal_handlers_disconnect_by_func (self->cell,
+ vn_column_spin_on_edited, self);
}
- g_object_set (obj->cell, "editable", editable, NULL);
+ g_object_set (self->cell, "editable", editable, NULL);
}
-static void vn_column_spin_set_value (VnColumnSpin * obj, GtkTreeModel * model,
+static void vn_column_spin_set_value (VnColumnSpin * self, GtkTreeModel * model,
GtkTreeIter * iter, GObject * cell, const GValue * value)
{
guint digits;
@@ -112,7 +112,7 @@ static void vn_column_spin_set_value (VnColumnSpin * obj, GtkTreeModel * model,
else
dec = g_value_get_double (value);
- g_ascii_formatd (buffer, G_ASCII_DTOSTR_BUF_SIZE, obj->format, dec);
+ g_ascii_formatd (buffer, G_ASCII_DTOSTR_BUF_SIZE, self->format, dec);
g_value_set_string (&new_value, buffer);
break;
@@ -135,7 +135,7 @@ enum
PROP_DIGITS = 1
};
-static void vn_column_spin_set_property (VnColumnSpin * obj, guint id,
+static void vn_column_spin_set_property (VnColumnSpin * self, guint id,
const GValue * value, GParamSpec * pspec)
{
switch (id)
@@ -143,34 +143,34 @@ static void vn_column_spin_set_property (VnColumnSpin * obj, guint id,
case PROP_DIGITS:
{
guint digits = g_value_get_uint (value);
- g_object_set (VN_COLUMN (obj)->cell, "digits", digits, NULL);
- g_free (obj->format);
- obj->format = g_strdup_printf ("%%.%df", digits);
+ g_object_set (VN_COLUMN (self)->cell, "digits", digits, NULL);
+ g_free (self->format);
+ self->format = g_strdup_printf ("%%.%df", digits);
break;
}
default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec);
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (self, id, pspec);
}
}
-static void vn_column_spin_get_property (VnColumnSpin * obj, guint id,
+static void vn_column_spin_get_property (VnColumnSpin * self, guint id,
GValue * value, GParamSpec * pspec)
{
switch (id)
{
case PROP_DIGITS:
- g_object_get_property (G_OBJECT (VN_COLUMN (obj)->cell), "digits", value);
+ g_object_get_property (G_OBJECT (VN_COLUMN (self)->cell), "digits", value);
break;
default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec);
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (self, id, pspec);
}
}
-static void vn_column_spin_init (VnColumnSpin * obj)
+static void vn_column_spin_init (VnColumnSpin * self)
{
GtkCellRenderer * cell;
- obj->format = NULL;
+ self->format = NULL;
cell = gtk_cell_renderer_spin_new ();
g_object_set (cell
@@ -178,13 +178,13 @@ static void vn_column_spin_init (VnColumnSpin * obj)
,"alignment", PANGO_ALIGN_RIGHT
,NULL
);
- VN_COLUMN_GET_CLASS (obj)->set_renderer (VN_COLUMN (obj), cell);
+ VN_COLUMN_GET_CLASS (self)->set_renderer (VN_COLUMN (self), cell);
}
-static void vn_column_spin_finalize (VnColumnSpin * obj)
+static void vn_column_spin_finalize (VnColumnSpin * self)
{
- g_free (obj->format);
- G_OBJECT_CLASS (vn_column_spin_parent_class)->finalize (G_OBJECT (obj));
+ g_free (self->format);
+ G_OBJECT_CLASS (vn_column_spin_parent_class)->finalize (G_OBJECT (self));
}
static void vn_column_spin_class_init (VnColumnSpinClass * klass)
diff --git a/vn/column/vn-column-spin.h b/vn/column/vn-column-spin.h
index 86de37e..f5e4da0 100644
--- a/vn/column/vn-column-spin.h
+++ b/vn/column/vn-column-spin.h
@@ -21,11 +21,11 @@
#include
#define VN_TYPE_COLUMN_SPIN (vn_column_spin_get_type ())
-#define VN_COLUMN_SPIN(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, VN_TYPE_COLUMN_SPIN, VnColumnSpin))
-#define VN_IS_COLUMN_SPIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, VN_TYPE_COLUMN_SPIN))
+#define VN_COLUMN_SPIN(self) (G_TYPE_CHECK_INSTANCE_CAST (self, VN_TYPE_COLUMN_SPIN, VnColumnSpin))
+#define VN_IS_COLUMN_SPIN(self) (G_TYPE_CHECK_INSTANCE_TYPE (self, VN_TYPE_COLUMN_SPIN))
#define VN_COLUMN_SPIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST (klass, VN_TYPE_COLUMN_SPIN, VnColumnSpinClass))
#define VN_IS_COLUMN_SPIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE (klass, VN_TYPE_COLUMN_SPIN))
-#define VN_COLUMN_SPIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS (obj, VN_TYPE_COLUMN_SPIN, VnColumnSpinClass))
+#define VN_COLUMN_SPIN_GET_CLASS(self) (G_TYPE_INSTANCE_GET_CLASS (self, VN_TYPE_COLUMN_SPIN, VnColumnSpinClass))
typedef struct _VnColumnSpin VnColumnSpin;
typedef struct _VnColumnSpinClass VnColumnSpinClass;
diff --git a/vn/field/vn-combo.c b/vn/field/vn-combo.c
index fff82c9..8e443a8 100644
--- a/vn/field/vn-combo.c
+++ b/vn/field/vn-combo.c
@@ -16,11 +16,11 @@
*/
#include "vn-combo.h"
-#include "../vn-grid-model.h"
+#include "../vn-list-model.h"
#include
/**
- * SECTION:vn-combo
+ * SECTION: vn-combo
* @Short_description: a combo box widget
* @Title: VnCombo
* @See_also: #VnField
@@ -77,7 +77,6 @@ static void vn_combo_on_model_ready (VnCombo * self, const GValue * value)
&& db_model_search_value (self->model, self->index_column, &iter, value))
{
GtkTreeIter tree_iter;
-
vn_gtk_tree_iter_from_db_iter (&tree_iter, &iter);
gtk_combo_box_set_active_iter (self->combo, &tree_iter);
}
@@ -96,7 +95,8 @@ static void vn_combo_on_status_changed (DbModel * model, DbModelStatus status, V
self->tree_set = TRUE;
vn_combo_on_model_ready (self, gvn_param_get_value (GVN_PARAM (self)));
- db_model_use_null_row (model, vn_field_get_null (VN_FIELD (self)));
+ vn_list_model_use_null_row (VN_LIST_MODEL (self->tree),
+ vn_field_get_null (VN_FIELD (self)));
}
else
{
@@ -126,7 +126,6 @@ static DbModel * vn_combo_get_model (VnCombo * self)
static void vn_combo_set_model (VnCombo * self, DbModel * model)
{
g_return_if_fail (VN_IS_COMBO (self));
- g_return_if_fail (DB_IS_MODEL (model) || !model);
if (self->model)
{
@@ -137,7 +136,7 @@ static void vn_combo_set_model (VnCombo * self, DbModel * model)
}
if (model)
{
- self->tree = GTK_TREE_MODEL (vn_grid_model_new (model));
+ self->tree = GTK_TREE_MODEL (vn_list_model_new (model));
self->model = g_object_ref (model);
g_signal_connect (model, "status-changed",
G_CALLBACK (vn_combo_on_status_changed), self);
@@ -269,7 +268,7 @@ static void vn_combo_init (VnCombo * self)
g_signal_connect (self->combo, "changed",
G_CALLBACK (vn_combo_on_changed), self);
gtk_container_add (GTK_CONTAINER (self), GTK_WIDGET (self->combo));
-
+
self->cell = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (self->combo), self->cell, TRUE);
diff --git a/vn/field/vn-completion.c b/vn/field/vn-completion.c
index e15fd56..4b4c7e0 100644
--- a/vn/field/vn-completion.c
+++ b/vn/field/vn-completion.c
@@ -17,7 +17,7 @@
#include "vn-completion.h"
#include
-#include
+#include
#include
#define set_icon(self,icon_name) (gtk_entry_set_icon_from_icon_name (self->entry, GTK_ENTRY_ICON_SECONDARY, icon_name))
@@ -64,7 +64,7 @@ static void vn_completion_on_status_changed (DbModel * model,
if (status == DB_MODEL_STATUS_READY)
{
- GtkTreeModel * tree = GTK_TREE_MODEL (vn_grid_model_new (model));
+ GtkTreeModel * tree = GTK_TREE_MODEL (vn_list_model_new (model));
gtk_entry_completion_set_model (self->completion, tree);
g_signal_emit_by_name (self->entry, "changed");
g_object_unref (tree);
diff --git a/vn/vn-column.c b/vn/vn-column.c
index 84223c6..966dc61 100644
--- a/vn/vn-column.c
+++ b/vn/vn-column.c
@@ -65,7 +65,7 @@ static void vn_column_data_func (GtkTreeViewColumn * col, GtkCellRenderer * cell
/*
vn_gtk_tree_iter_to_db_iter (iter, &dbiter);
ops = db_model_get_row_operations (
- vn_grid_model_get_model (VN_GRID_MODEL (model))
+ vn_list_model_get_model (VN_LIST_MODEL (model))
,&dbiter
);
diff --git a/vn/vn-grid-model.c b/vn/vn-grid-model.c
deleted file mode 100644
index 84c253a..0000000
--- a/vn/vn-grid-model.c
+++ /dev/null
@@ -1,507 +0,0 @@
-/*
- * Copyright (C) 2012 - Juan Ferrer Toribio
- *
- * 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 3 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, see .
- */
-
-#include "vn-grid-model.h"
-
-typedef struct
-{
- gchar * detail;
- gpointer callback;
-}
-GvnSignalInfo;
-
-/*
- * gvn_object_link:
- * @obj: instance
- * @prop: property of @obj to be set to @prop_value
- * @prop_value: the value to set on @prop
- * @info: an array of GvnSignalInfo
- *
- * Connects the signals of an object passed on @prop_value to the callbacks
- * listed in a GvnSignalInfo array.
- */
-void _gvn_object_link (gpointer obj, gpointer * prop, gpointer prop_value, GvnSignalInfo * info)
-{
- gint i;
-
- if (*prop)
- {
- for (i = 0; info[i].detail; i++)
- g_signal_handlers_disconnect_by_func (*prop, info[i].callback, obj);
-
- g_object_unref (*prop);
- }
-
- if (prop_value)
- {
- for (i = 0; info[i].detail; i++)
- if (g_str_has_suffix (info[i].detail, ".after"))
- {
- gchar ** split = g_strsplit (info[i].detail, ".", 0);
- g_signal_connect_after (prop_value, split[0], info[i].callback, obj);
- g_strfreev (split);
- }
- else
- g_signal_connect (prop_value, info[i].detail, info[i].callback, obj);
-
- *prop = g_object_ref_sink (prop_value);
- }
- else
- *prop = NULL;
-}
-
-#define gvn_object_link(obj, prop, prop_value, info) (_gvn_object_link (obj, (void**) prop, prop_value, info))
-
-static void vn_grid_model_tree_model_init (GtkTreeModelIface * iface);
-static void vn_grid_model_tree_sortable_init (GtkTreeSortableIface * iface);
-
-G_DEFINE_TYPE_WITH_CODE (VnGridModel, vn_grid_model, G_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL,
- vn_grid_model_tree_model_init)
- G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_SORTABLE,
- vn_grid_model_tree_sortable_init)
-);
-
-/**
- * vn_grid_model_new:
- * @model: a #DbModel
- *
- * Creates a new #VnGridModel with @model as the data model.
- *
- * Return value: (transfer full): a #VnGridModel.
- **/
-VnGridModel * vn_grid_model_new (DbModel * model)
-{
- return g_object_new (VN_TYPE_GRID_MODEL, "model", model, NULL);
-}
-
-/**
- * vn_grid_model_get_model:
- * @obj: a #VnGridModel
- *
- * Passes the #DbModel used internally by @model.
- *
- * Return value: (transfer none): a #DbModel.
- **/
-DbModel * vn_grid_model_get_model (VnGridModel * obj)
-{
- g_return_val_if_fail (VN_IS_GRID_MODEL (obj), NULL);
-
- return obj->model;
-}
-/**
- * vn_gtk_tree_iter_from_db_iter:
- * @dest_iter: the #GtkTreeIter to set using the data on @src_iter
- * @src_iter: a valid #DbIter
- *
- * Sets a #GtkTreeIter with the data of a #DbIter. This function is mostly used
- * internally.
- **/
-void gtk_tree_iter_from_db_iter (GtkTreeIter * dest_iter, const DbIter * src_iter)
-{
- dest_iter->stamp = src_iter->stamp;
- dest_iter->user_data = src_iter->data;
-}
-
-/**
- * vn_gtk_tree_iter_to_db_iter:
- * @src_iter: a valid #GtkTreeIter
- * @dest_iter: the #DbIter to set using the data on @src_iter
- *
- * Sets a with #DbIter the data of a #GtkTreeIter. This function is mostly used
- * internally.
- **/
-void gtk_tree_iter_to_db_iter (const GtkTreeIter * src_iter, DbIter * dest_iter)
-{
- dest_iter->stamp = src_iter->stamp;
- dest_iter->data = src_iter->user_data;
-}
-
-/**
- * vn_grid_model_iter_is_valid:
- * @iter: a #GtkTreeIter
- * @model: a #GtkTreeModel
- *
- * Checks if @iter is a valid #GtkTreeIter pointing inside #GtkTreeModel.
- **/
-gboolean vn_grid_model_iter_is_valid (GtkTreeIter * iter, GtkTreeModel * model)
-{
- DbIter dbiter;
-
- g_return_val_if_fail (GTK_IS_TREE_MODEL (model), FALSE);
-
- gtk_tree_iter_to_db_iter (iter, &dbiter);
- return db_model_iter_is_valid (&dbiter, VN_GRID_MODEL (model)->model);
-}
-
-static gint vn_grid_model_get_nrows (GtkTreeModel * obj)
-{
- return db_model_get_nrows (VN_GRID_MODEL (obj)->model);
-}
-
-//++++ Broadcast of GtkTreeModel and GtkTreeSortable signals:
-
-static void vn_grid_model_on_line_updated (DbModel * model, DbIter * dbiter, GtkTreeModel * obj)
-{
- GtkTreeIter iter;
- gtk_tree_iter_from_db_iter (&iter, dbiter);
-
- GtkTreePath * path = gtk_tree_path_new ();
- gtk_tree_path_append_index (path, db_model_get_path (model, dbiter));
-
- gtk_tree_model_row_changed (obj, path, &iter);
-
- gtk_tree_path_free (path);
-}
-
-static void vn_grid_model_on_line_inserted (DbModel * model, DbIter * dbiter, GtkTreeModel * obj)
-{
- GtkTreeIter iter;
- gtk_tree_iter_from_db_iter (&iter, dbiter);
-
- GtkTreePath * path = gtk_tree_path_new ();
- gtk_tree_path_append_index (path,
- db_model_get_path (model, dbiter));
-
- gtk_tree_model_row_inserted (obj, path, &iter);
-
- gtk_tree_path_free (path);
-}
-
-static void vn_grid_model_on_line_deleted (DbModel * model, gint position, GtkTreeModel * obj)
-{
- GtkTreePath * path = gtk_tree_path_new ();
- gtk_tree_path_append_index (path, position);
-
- if (gtk_tree_path_get_indices (path))
- gtk_tree_model_row_deleted (obj, path);
-
- gtk_tree_path_free (path);
-}
-
-static void vn_grid_model_on_lines_reordered (DbModel * model, guint col, gint * new_order, GtkTreeModel * obj)
-{
- GtkTreePath * path = gtk_tree_path_new ();
- gtk_tree_model_rows_reordered (obj, path, NULL, new_order);
- gtk_tree_path_free (path);
-}
-
-static void vn_grid_model_on_sort_changed (DbModel * model, GtkTreeSortable * obj)
-{
- g_signal_emit_by_name (obj, "sort-column-changed");
-}
-
-//++++ Implementation of GtkTreeModel methods (using DbModel methods)
-
-static GtkTreeModelFlags vn_grid_model_get_flags (GtkTreeModel * obj)
-{
- return GTK_TREE_MODEL_ITERS_PERSIST | GTK_TREE_MODEL_LIST_ONLY;
-}
-
-static gint vn_grid_model_get_ncols (GtkTreeModel * obj)
-{
- return db_model_get_ncols (VN_GRID_MODEL (obj)->model);
-}
-
-static GType vn_grid_model_get_column_type (GtkTreeModel * obj, gint index_)
-{
- return db_model_get_column_type (VN_GRID_MODEL (obj)->model, index_);
-}
-
-static gboolean vn_grid_model_get_iter (GtkTreeModel * obj, GtkTreeIter * iter,
- GtkTreePath * path)
-{
- DbIter dbiter;
- gint p = gtk_tree_path_get_indices (path)[0];
-
- gboolean ret = db_model_get_iter (VN_GRID_MODEL (obj)->model, &dbiter, p);
-
- if (ret)
- gtk_tree_iter_from_db_iter (iter, &dbiter);
-
- return ret;
-}
-
-static GtkTreePath * vn_grid_model_get_path (GtkTreeModel * obj, GtkTreeIter * iter)
-{
- GtkTreePath * path;
- DbIter dbiter;
-
- gtk_tree_iter_to_db_iter (iter, &dbiter);
-
- path = gtk_tree_path_new ();
- gtk_tree_path_append_index (path,
- db_model_get_path (VN_GRID_MODEL (obj)->model, &dbiter));
-
- return path;
-}
-
-static void vn_grid_model_get_value (GtkTreeModel * obj, GtkTreeIter * iter,
- gint column, GValue * value)
-{
- const GValue * v;
- DbIter dbiter;
-
- gtk_tree_iter_to_db_iter (iter, &dbiter);
-
- v = db_model_get_value (VN_GRID_MODEL (obj)->model, &dbiter, column, NULL);
-
- if (v)
- {
- g_value_init (value, G_VALUE_TYPE (v));
- g_value_copy (v, value);
- }
- else
- g_value_init (value, GVN_TYPE_NULL);
-}
-
-static gboolean vn_grid_model_iter_next (GtkTreeModel * obj, GtkTreeIter * iter)
-{
- DbIter dbiter;
- gtk_tree_iter_to_db_iter (iter, &dbiter);
-
- gboolean ret_val = db_model_iter_next (VN_GRID_MODEL (obj)->model, &dbiter);
-
- iter->user_data = dbiter.data;
-
- return ret_val;
-}
-
-static gboolean vn_grid_model_iter_previous (GtkTreeModel * obj, GtkTreeIter * iter)
-{
- DbIter dbiter;
- gtk_tree_iter_to_db_iter (iter, &dbiter);
-
- gboolean ret_val = db_model_iter_prev (VN_GRID_MODEL (obj)->model, &dbiter);
-
- iter->user_data = dbiter.data;
-
- return ret_val;
-}
-
-static gboolean vn_grid_model_iter_children (GtkTreeModel * obj, GtkTreeIter * iter,
- GtkTreeIter * parent)
-{
- if (parent == NULL)
- {
- DbIter dbiter;
-
- gboolean ret_val = db_model_get_iter_first (VN_GRID_MODEL (obj)->model
- ,&dbiter);
-
- if (ret_val)
- gtk_tree_iter_from_db_iter (iter, &dbiter);
-
- return ret_val;
- }
-
- return FALSE;
-}
-
-static gboolean vn_grid_model_iter_has_child (GtkTreeModel * obj, GtkTreeIter * iter)
-{
- return FALSE;
-}
-
-static gint vn_grid_model_iter_n_children (GtkTreeModel * obj, GtkTreeIter * iter)
-{
- if (iter == NULL)
- return vn_grid_model_get_nrows (obj);
-
- return 0;
-}
-
-static gboolean vn_grid_model_iter_nth_child (GtkTreeModel * obj, GtkTreeIter * iter
- ,GtkTreeIter * parent, gint n)
-{
- if (parent == NULL)
- {
- DbIter dbiter;
- gboolean ret = db_model_get_iter (VN_GRID_MODEL (obj)->model, &dbiter, n);
-
- if (ret)
- gtk_tree_iter_from_db_iter (iter, &dbiter);
- }
-
- return FALSE;
-}
-
-static gboolean vn_grid_model_iter_parent (GtkTreeModel * obj, GtkTreeIter * iter,
- GtkTreeIter * child)
-{
- return FALSE;
-}
-
-//++++ Implementation of GtkTreeSortable methods (using DbModel methods)
-
-static gboolean vn_grid_model_get_sort_column_id (GtkTreeSortable * obj,
- gint * sort_column_id,
- GtkSortType * order)
-{
- return db_model_get_sort_column_id (VN_GRID_MODEL (obj)->model
- ,sort_column_id, (DbSortType *) order);
-}
-
-static void vn_grid_model_set_sort_column_id (GtkTreeSortable * obj, gint sort_column_id,
- GtkSortType order)
-{
- DbSortType db_order;
-
- if (order == GTK_SORT_ASCENDING)
- db_order = DB_SORT_ASCENDING;
- else
- db_order = DB_SORT_DESCENDING;
-
- db_model_set_sort_column_id (VN_GRID_MODEL (obj)->model, sort_column_id, db_order);
-}
-
-static void vn_grid_model_set_sort_func (GtkTreeSortable *sortable, gint sort_column_id,
- GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy)
-{
- g_log (g_quark_to_string (VN_GRID_MODEL_LOG_DOMAIN)
- ,G_LOG_LEVEL_WARNING, "Function vn_grid_model_set_sort_func not implemented");
-}
-
-static void vn_grid_model_set_default_sort_func (GtkTreeSortable *sortable,
- GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy)
-{
- g_log (g_quark_to_string (VN_GRID_MODEL_LOG_DOMAIN)
- ,G_LOG_LEVEL_WARNING, "Function vn_grid_model_set_default_sort_func not implemented");
-}
-
-static gboolean vn_grid_model_has_default_sort_func (GtkTreeSortable * obj)
-{
- return TRUE;
-}
-
-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Properties
-
-typedef enum
-{
- PROP_MODEL = 1
-}
-VnGridModelProp;
-
-/*Experimental way to connect a property object signals using gvn_object_link*/
-GvnSignalInfo signal_info[] =
-{
- {"line-updated.after", vn_grid_model_on_line_updated
- },{"line-inserted", vn_grid_model_on_line_inserted
- },{"line-deleted.after", vn_grid_model_on_line_deleted
- },{"lines-reordered", vn_grid_model_on_lines_reordered
- },{"sort-changed", vn_grid_model_on_sort_changed
- },{NULL}
-};
-
-static void vn_grid_model_set_property (VnGridModel * obj, guint property_id,
- const GValue * value, GParamSpec * pspec)
-{
- switch (property_id)
- {
- case PROP_MODEL:
- gvn_object_link (obj, &obj->model, g_value_get_object (value), signal_info);
- /*g_object_ref_sink (obj->model);
- g_object_connect (obj->model
- ,"signal-after::line-updated", vn_grid_model_on_line_updated, obj
- ,"signal::line-inserted", vn_grid_model_on_line_inserted, obj
- ,"signal-after::line-deleted", vn_grid_model_on_line_deleted, obj
- ,"signal::lines-reordered", vn_grid_model_on_lines_reordered, obj
- ,"signal::sort-changed", vn_grid_model_on_sort_changed, obj, NULL);*/
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, property_id, pspec);
- }
-}
-
-static void vn_grid_model_get_property (VnGridModel * obj, guint property_id,
- GValue * value, GParamSpec * pspec)
-{
- switch (property_id)
- {
- case PROP_MODEL:
- g_value_set_object (value, obj->model);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, property_id, pspec);
- }
-}
-
-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Class
-
-static void vn_grid_model_finalize (VnGridModel * obj)
-{
- gvn_object_link (obj, &obj->model, NULL, signal_info);
-/*
- g_object_disconnect (obj->model
- ,"any_signal", vn_grid_model_on_line_updated, obj
- ,"any_signal", vn_grid_model_on_line_inserted, obj
- ,"any_signal", vn_grid_model_on_line_deleted, obj
- ,"any_signal", vn_grid_model_on_lines_reordered, obj
- ,"any_signal", vn_grid_model_on_sort_changed, obj, NULL);
-
- g_object_unref (obj->model);
-*/
- G_OBJECT_CLASS (vn_grid_model_parent_class)->finalize (G_OBJECT (obj));
-}
-
-static void vn_grid_model_class_init (VnGridModelClass * k)
-{
- GObjectClass * klass = G_OBJECT_CLASS (k);
- klass->set_property = (GObjectSetPropertyFunc) vn_grid_model_set_property;
- klass->get_property = (GObjectGetPropertyFunc) vn_grid_model_get_property;
- klass->finalize = (GObjectFinalizeFunc) vn_grid_model_finalize;
-
- g_object_class_install_property (klass, PROP_MODEL,
- g_param_spec_object ("model"
- ,"Model"
- ,"The #DbModel with the data used by the #VnGridModel"
- ,DB_TYPE_MODEL
- ,G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE
- ));
-}
-
-static void vn_grid_model_tree_model_init (GtkTreeModelIface * iface)
-{
- iface->get_flags = vn_grid_model_get_flags;
- iface->get_n_columns = vn_grid_model_get_ncols;
- iface->get_column_type = vn_grid_model_get_column_type;
- iface->get_iter = vn_grid_model_get_iter;
- iface->get_path = vn_grid_model_get_path;
- iface->get_value = vn_grid_model_get_value;
- iface->iter_next = vn_grid_model_iter_next;
- iface->iter_previous = vn_grid_model_iter_previous;
-
- iface->iter_children = vn_grid_model_iter_children;
- iface->iter_has_child = vn_grid_model_iter_has_child;
- iface->iter_n_children = vn_grid_model_iter_n_children;
- iface->iter_nth_child = vn_grid_model_iter_nth_child;
- iface->iter_parent = vn_grid_model_iter_parent;
-}
-
-static void vn_grid_model_tree_sortable_init (GtkTreeSortableIface * iface)
-{
- iface->get_sort_column_id = vn_grid_model_get_sort_column_id;
- iface->set_sort_column_id = vn_grid_model_set_sort_column_id;
- iface->set_sort_func = vn_grid_model_set_sort_func;
- iface->set_default_sort_func = vn_grid_model_set_default_sort_func;
- iface->has_default_sort_func = vn_grid_model_has_default_sort_func;
-}
-
-static void vn_grid_model_init (VnGridModel * obj)
-{
- obj->model = NULL;
-}
diff --git a/vn/vn-grid.c b/vn/vn-grid.c
index 240a35b..d09a063 100644
--- a/vn/vn-grid.c
+++ b/vn/vn-grid.c
@@ -334,7 +334,7 @@ static void vn_grid_on_model_status_changed (DbModel * model, DbModelStatus stat
db_iterator_status_changed (DB_ITERATOR (self), TRUE);
- tree_model = GTK_TREE_MODEL (vn_grid_model_new (self->model));
+ tree_model = GTK_TREE_MODEL (vn_list_model_new (self->model));
gtk_tree_view_set_model (GTK_TREE_VIEW (self), tree_model);
vn_grid_on_iter_changed (GTK_TREE_VIEW (self));
diff --git a/vn/vn-grid.h b/vn/vn-grid.h
index f4b5e3d..bcd0281 100644
--- a/vn/vn-grid.h
+++ b/vn/vn-grid.h
@@ -20,7 +20,7 @@
#include
#include
-#include "vn-grid-model.h"
+#include "vn-list-model.h"
#include "vn-column.h"
#define VN_TYPE_GRID (vn_grid_get_type ())
@@ -51,6 +51,6 @@ struct _VnGridClass
};
GType vn_grid_get_type ();
-VnGrid * vn_grid_new ();
+VnGrid * vn_grid_new (DbModel * model);
#endif
\ No newline at end of file
diff --git a/vn/vn-list-model.c b/vn/vn-list-model.c
new file mode 100644
index 0000000..89d5f9a
--- /dev/null
+++ b/vn/vn-list-model.c
@@ -0,0 +1,600 @@
+/*
+ * Copyright (C) 2012 - Juan Ferrer Toribio
+ *
+ * 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 3 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, see .
+ */
+
+#include "vn-list-model.h"
+
+typedef struct
+{
+ gchar * detail;
+ gpointer callback;
+}
+GvnSignalInfo;
+
+/*
+ * gvn_object_link:
+ * @obj: instance
+ * @prop: property of @obj to be set to @prop_value
+ * @prop_value: the value to set on @prop
+ * @info: an array of GvnSignalInfo
+ *
+ * Connects the signals of an object passed on @prop_value to the callbacks
+ * listed in a GvnSignalInfo array.
+ */
+void _gvn_object_link (gpointer self, gpointer * prop, gpointer prop_value, GvnSignalInfo * info)
+{
+ gint i;
+
+ if (*prop)
+ {
+ for (i = 0; info[i].detail; i++)
+ g_signal_handlers_disconnect_by_func (*prop, info[i].callback, self);
+
+ g_object_unref (*prop);
+ }
+
+ if (prop_value)
+ {
+ for (i = 0; info[i].detail; i++)
+ if (g_str_has_suffix (info[i].detail, ".after"))
+ {
+ gchar ** split = g_strsplit (info[i].detail, ".", 0);
+ g_signal_connect_after (prop_value, split[0], info[i].callback, self);
+ g_strfreev (split);
+ }
+ else
+ g_signal_connect (prop_value, info[i].detail, info[i].callback, self);
+
+ *prop = g_object_ref_sink (prop_value);
+ }
+ else
+ *prop = NULL;
+}
+
+#define gvn_object_link(self, prop, prop_value, info) (_gvn_object_link (self, (void**) prop, prop_value, info))
+
+static void vn_list_model_tree_model_init (GtkTreeModelIface * iface);
+static void vn_list_model_tree_sortable_init (GtkTreeSortableIface * iface);
+
+G_DEFINE_TYPE_WITH_CODE (VnListModel, vn_list_model, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL,
+ vn_list_model_tree_model_init)
+ G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_SORTABLE,
+ vn_list_model_tree_sortable_init)
+);
+
+/**
+ * vn_list_model_new:
+ * @model: a #DbModel
+ *
+ * Creates a new #VnListModel with @model as the data model.
+ *
+ * Return value: (transfer full): a #VnListModel.
+ **/
+VnListModel * vn_list_model_new (DbModel * model)
+{
+ return g_object_new (VN_TYPE_LIST_MODEL, "model", model, NULL);
+}
+
+/**
+ * vn_list_model_get_model:
+ * @obj: a #VnListModel
+ *
+ * Passes the #DbModel used internally by @model.
+ *
+ * Return value: (transfer none): a #DbModel.
+ **/
+DbModel * vn_list_model_get_model (VnListModel * self)
+{
+ g_return_val_if_fail (VN_IS_LIST_MODEL (self), NULL);
+
+ return self->model;
+}
+
+/**
+ * vn_list_model_use_null_row:
+ * @self: a #VnListModel
+ * @use: wether to use a null row
+ *
+ * Sets wether to use a null row at the end of the model. This row can't be
+ * modified, its purpose is to set a #NULL option in selection widgets, like
+ * #VnCombo.
+ **/
+void vn_list_model_use_null_row (VnListModel * self, gboolean use)
+{
+ g_return_if_fail (VN_IS_LIST_MODEL (self));
+
+ self->null_row = use;
+}
+
+/**
+ * vn_gtk_tree_iter_from_db_iter:
+ * @dest_iter: the #GtkTreeIter to set using the data on @src_iter
+ * @src_iter: a valid #DbIter
+ *
+ * Sets a #GtkTreeIter with the data of a #DbIter. This function is mostly used
+ * internally.
+ **/
+void gtk_tree_iter_from_db_iter (GtkTreeIter * dest_iter, const DbIter * src_iter)
+{
+ dest_iter->stamp = src_iter->stamp;
+ dest_iter->user_data = src_iter->data;
+}
+
+/**
+ * vn_gtk_tree_iter_to_db_iter:
+ * @src_iter: a valid #GtkTreeIter
+ * @dest_iter: the #DbIter to set using the data on @src_iter
+ *
+ * Sets a with #DbIter the data of a #GtkTreeIter. This function is mostly used
+ * internally.
+ **/
+void gtk_tree_iter_to_db_iter (const GtkTreeIter * src_iter, DbIter * dest_iter)
+{
+ dest_iter->stamp = src_iter->stamp;
+ dest_iter->data = src_iter->user_data;
+}
+
+/**
+ * vn_list_model_iter_is_valid:
+ * @iter: a #GtkTreeIter
+ * @model: a #GtkTreeModel
+ *
+ * Checks if @iter is a valid #GtkTreeIter pointing inside #GtkTreeModel.
+ **/
+gboolean vn_list_model_iter_is_valid (GtkTreeIter * iter, GtkTreeModel * model)
+{
+ DbIter dbiter;
+
+ g_return_val_if_fail (GTK_IS_TREE_MODEL (model), FALSE);
+
+ gtk_tree_iter_to_db_iter (iter, &dbiter);
+ return db_model_iter_is_valid (&dbiter, VN_LIST_MODEL (model)->model);
+}
+
+static gint vn_list_model_get_nrows (GtkTreeModel * self)
+{
+ gint nrows = db_model_get_nrows (VN_LIST_MODEL (self)->model);
+
+ return VN_LIST_MODEL (self)->null_row ? nrows + 1 : nrows;
+}
+
+//++++ Broadcast of GtkTreeModel and GtkTreeSortable signals:
+
+static void vn_list_model_on_line_updated (DbModel * model, DbIter * dbiter, GtkTreeModel * self)
+{
+ GtkTreeIter iter;
+ GtkTreePath * path;
+ gint p = db_model_get_path (model, dbiter);
+ p = VN_LIST_MODEL (self)->null_row ? p + 1 : p;
+ gtk_tree_iter_from_db_iter (&iter, dbiter);
+
+ path = gtk_tree_path_new ();
+ gtk_tree_path_append_index (path, p);
+
+ gtk_tree_model_row_changed (self, path, &iter);
+
+ gtk_tree_path_free (path);
+}
+
+static void vn_list_model_on_line_inserted (DbModel * model, DbIter * dbiter, GtkTreeModel * self)
+{
+ GtkTreeIter iter;
+ GtkTreePath * path;
+ gint p = db_model_get_path (model, dbiter);
+ p = VN_LIST_MODEL (self)->null_row ? p + 1 : p;
+ gtk_tree_iter_from_db_iter (&iter, dbiter);
+
+ path = gtk_tree_path_new ();
+ gtk_tree_path_append_index (path, p);
+
+ gtk_tree_model_row_inserted (self, path, &iter);
+
+ gtk_tree_path_free (path);
+}
+
+static void vn_list_model_on_line_deleted (DbModel * model, gint pos, GtkTreeModel * self)
+{
+ GtkTreePath * path = gtk_tree_path_new ();
+
+ gtk_tree_path_append_index (path,
+ VN_LIST_MODEL (self)->null_row ? pos + 1 : pos);
+
+ if (gtk_tree_path_get_indices (path))
+ gtk_tree_model_row_deleted (self, path);
+
+ gtk_tree_path_free (path);
+}
+
+static void vn_list_model_on_lines_reordered (DbModel * model, guint col, gint * new_order, GtkTreeModel * self)
+{
+ GtkTreePath * path = gtk_tree_path_new ();
+ gtk_tree_model_rows_reordered (self, path, NULL, new_order);
+ gtk_tree_path_free (path);
+}
+
+static void vn_list_model_on_sort_changed (DbModel * model, GtkTreeSortable * self)
+{
+ g_signal_emit_by_name (self, "sort-column-changed");
+}
+
+//++++ Implementation of GtkTreeModel methods (using DbModel methods)
+
+static GtkTreeModelFlags vn_list_model_get_flags (GtkTreeModel * self)
+{
+ return GTK_TREE_MODEL_ITERS_PERSIST | GTK_TREE_MODEL_LIST_ONLY;
+}
+
+static gint vn_list_model_get_ncols (GtkTreeModel * self)
+{
+ return db_model_get_ncols (VN_LIST_MODEL (self)->model);
+}
+
+static GType vn_list_model_get_column_type (GtkTreeModel * self, gint index_)
+{
+ return db_model_get_column_type (VN_LIST_MODEL (self)->model, index_);
+}
+
+static gboolean vn_list_model_get_iter (GtkTreeModel * self, GtkTreeIter * iter,
+ GtkTreePath * path)
+{
+ gboolean ok = FALSE;
+ gint p = gtk_tree_path_get_indices (path)[0];
+ p = VN_LIST_MODEL (self)->null_row ? p - 1 : p;
+
+ if (p >= 0)
+ {
+ DbIter dbiter;
+ ok = db_model_get_iter (VN_LIST_MODEL (self)->model, &dbiter, p);
+
+ if (ok)
+ gtk_tree_iter_from_db_iter (iter, &dbiter);
+ }
+ else
+ {
+ iter->user_data = self;
+ ok = TRUE;
+ }
+
+ return ok;
+}
+
+static GtkTreePath * vn_list_model_get_path (GtkTreeModel * self, GtkTreeIter * iter)
+{
+ gint p;
+ GtkTreePath * path;
+
+ if (iter->user_data != self)
+ {
+ DbIter dbiter;
+
+ gtk_tree_iter_to_db_iter (iter, &dbiter);
+
+ p = db_model_get_path (VN_LIST_MODEL (self)->model, &dbiter);
+ p = VN_LIST_MODEL (self)->null_row ? p + 1 : p;
+ }
+ else
+ p = 0;
+
+ path = gtk_tree_path_new ();
+ gtk_tree_path_append_index (path, p);
+ return path;
+}
+
+static void vn_list_model_get_value (GtkTreeModel * self, GtkTreeIter * iter,
+ gint column, GValue * value)
+{
+ GValue * v = NULL;
+
+ if (iter->user_data != self)
+ {
+ DbIter dbiter;
+ gtk_tree_iter_to_db_iter (iter, &dbiter);
+ v = (GValue *) db_model_get_value (VN_LIST_MODEL (self)->model, &dbiter, column, NULL);
+ }
+
+ if (v)
+ {
+ g_value_init (value, G_VALUE_TYPE (v));
+ g_value_copy (v, value);
+ }
+ else
+ g_value_init (value, GVN_TYPE_NULL);
+}
+
+static gboolean vn_list_model_iter_next (GtkTreeModel * self, GtkTreeIter * iter)
+{
+ DbIter dbiter;
+ gboolean ret_val;
+
+ if (iter->user_data != self)
+ {
+ gtk_tree_iter_to_db_iter (iter, &dbiter);
+ ret_val = db_model_iter_next (VN_LIST_MODEL (self)->model, &dbiter);
+ }
+ else
+ ret_val = db_model_get_iter_first (VN_LIST_MODEL (self)->model, &dbiter);
+
+ gtk_tree_iter_from_db_iter (iter, &dbiter);
+ return ret_val;
+}
+
+static gboolean vn_list_model_iter_previous (GtkTreeModel * self, GtkTreeIter * iter)
+{
+ if (iter->user_data != self)
+ {
+ DbIter dbiter;
+ DbModel * model = VN_LIST_MODEL (self)->model;
+
+ gtk_tree_iter_to_db_iter (iter, &dbiter);
+
+ if (db_model_iter_prev (model, &dbiter))
+ {
+ iter->user_data = dbiter.data;
+ return TRUE;
+ }
+ else if (db_model_get_iter_first (model, &dbiter)
+ && iter->user_data == dbiter.data)
+ {
+ iter->user_data = self;
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+static gboolean vn_list_model_iter_children (GtkTreeModel * self, GtkTreeIter * iter,
+ GtkTreeIter * parent)
+{
+ if (parent == NULL)
+ {
+ gboolean ret_val;
+
+ if (!VN_LIST_MODEL (self)->null_row)
+ {
+ DbIter dbiter;
+ ret_val = db_model_get_iter_first (VN_LIST_MODEL (self)->model, &dbiter);
+
+ if (ret_val)
+ gtk_tree_iter_from_db_iter (iter, &dbiter);
+ }
+ else
+ {
+ iter->user_data = self;
+ ret_val = TRUE;
+ }
+
+ return ret_val;
+ }
+
+ return FALSE;
+}
+
+static gboolean vn_list_model_iter_has_child (GtkTreeModel * self, GtkTreeIter * iter)
+{
+ return FALSE;
+}
+
+static gint vn_list_model_iter_n_children (GtkTreeModel * self, GtkTreeIter * iter)
+{
+ if (iter == NULL)
+ {
+ gint nrows = vn_list_model_get_nrows (self);
+ return VN_LIST_MODEL (self)->null_row ? nrows + 1 : nrows;
+ }
+
+ return 0;
+}
+
+static gboolean vn_list_model_iter_nth_child (GtkTreeModel * self, GtkTreeIter * iter
+ ,GtkTreeIter * parent, gint n)
+{
+ if (parent == NULL)
+ {
+ DbIter dbiter;
+ gboolean ok = db_model_get_iter (VN_LIST_MODEL (self)->model,
+ &dbiter, VN_LIST_MODEL (self)->null_row ? n - 1 : n);
+
+ if (ok)
+ {
+ gtk_tree_iter_from_db_iter (iter, &dbiter);
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+static gboolean vn_list_model_iter_parent (GtkTreeModel * self, GtkTreeIter * iter,
+ GtkTreeIter * child)
+{
+ return FALSE;
+}
+
+//++++ Implementation of GtkTreeSortable methods (using DbModel methods)
+
+static gboolean vn_list_model_get_sort_column_id (GtkTreeSortable * self,
+ gint * sort_column_id,
+ GtkSortType * order)
+{
+ return db_model_get_sort_column_id (VN_LIST_MODEL (self)->model
+ ,sort_column_id, (DbSortType *) order);
+}
+
+static void vn_list_model_set_sort_column_id (GtkTreeSortable * self, gint sort_column_id,
+ GtkSortType order)
+{
+ DbSortType db_order;
+
+ if (order == GTK_SORT_ASCENDING)
+ db_order = DB_SORT_ASCENDING;
+ else
+ db_order = DB_SORT_DESCENDING;
+
+ db_model_set_sort_column_id (VN_LIST_MODEL (self)->model, sort_column_id, db_order);
+}
+
+static void vn_list_model_set_sort_func (GtkTreeSortable *sortable, gint sort_column_id,
+ GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy)
+{
+ g_warning ("Function vn_list_model_set_sort_func not implemented");
+}
+
+static void vn_list_model_set_default_sort_func (GtkTreeSortable *sortable,
+ GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy)
+{
+ g_warning ("Function vn_list_model_set_default_sort_func not implemented");
+}
+
+static gboolean vn_list_model_has_default_sort_func (GtkTreeSortable * self)
+{
+ return TRUE;
+}
+
+//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Properties
+
+typedef enum
+{
+ PROP_MODEL = 1
+ ,PROP_NULL_ROW
+}
+VnListModelProp;
+
+/*Experimental way to connect a property object signals using gvn_object_link*/
+GvnSignalInfo signal_info[] =
+{
+ {"line-updated.after", vn_list_model_on_line_updated
+ },{"line-inserted", vn_list_model_on_line_inserted
+ },{"line-deleted.after", vn_list_model_on_line_deleted
+ },{"lines-reordered", vn_list_model_on_lines_reordered
+ },{"sort-changed", vn_list_model_on_sort_changed
+ },{NULL}
+};
+
+static void vn_list_model_set_property (VnListModel * self, guint property_id,
+ const GValue * value, GParamSpec * pspec)
+{
+ switch (property_id)
+ {
+ case PROP_MODEL:
+ gvn_object_link (self, &self->model, g_value_get_object (value), signal_info);
+ /*g_object_ref_sink (self->model);
+ g_object_connect (self->model
+ ,"signal-after::line-updated", vn_list_model_on_line_updated, obj
+ ,"signal::line-inserted", vn_list_model_on_line_inserted, obj
+ ,"signal-after::line-deleted", vn_list_model_on_line_deleted, obj
+ ,"signal::lines-reordered", vn_list_model_on_lines_reordered, obj
+ ,"signal::sort-changed", vn_list_model_on_sort_changed, self, NULL);*/
+ break;
+ case PROP_NULL_ROW:
+ vn_list_model_use_null_row (self, g_value_get_boolean (value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (self, property_id, pspec);
+ }
+}
+
+static void vn_list_model_get_property (VnListModel * self, guint property_id,
+ GValue * value, GParamSpec * pspec)
+{
+ switch (property_id)
+ {
+ case PROP_MODEL:
+ g_value_set_object (value, self->model);
+ break;
+ case PROP_NULL_ROW:
+ g_value_set_boolean (value, self->null_row);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (self, property_id, pspec);
+ }
+}
+
+//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Class
+
+static void vn_list_model_init (VnListModel * self)
+{
+ self->model = NULL;
+ self->null_row = FALSE;
+}
+
+static void vn_list_model_finalize (VnListModel * self)
+{
+ gvn_object_link (self, &self->model, NULL, signal_info);
+/*
+ g_object_disconnect (self->model
+ ,"any_signal", vn_list_model_on_line_updated, obj
+ ,"any_signal", vn_list_model_on_line_inserted, obj
+ ,"any_signal", vn_list_model_on_line_deleted, obj
+ ,"any_signal", vn_list_model_on_lines_reordered, obj
+ ,"any_signal", vn_list_model_on_sort_changed, self, NULL);
+
+ g_object_unref (self->model);
+*/
+ G_OBJECT_CLASS (vn_list_model_parent_class)->finalize (G_OBJECT (self));
+}
+
+static void vn_list_model_class_init (VnListModelClass * k)
+{
+ GObjectClass * klass = G_OBJECT_CLASS (k);
+ klass->set_property = (GObjectSetPropertyFunc) vn_list_model_set_property;
+ klass->get_property = (GObjectGetPropertyFunc) vn_list_model_get_property;
+ klass->finalize = (GObjectFinalizeFunc) vn_list_model_finalize;
+
+ g_object_class_install_property (klass, PROP_MODEL,
+ g_param_spec_object ("model"
+ ,"Model"
+ ,"The #DbModel with the data used by the #VnListModel"
+ ,DB_TYPE_MODEL
+ ,G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE
+ ));
+
+ g_object_class_install_property (klass, PROP_NULL_ROW,
+ g_param_spec_boolean ("null-row"
+ ,_("Null row")
+ ,_("Whether the list model will add a null row or not")
+ ,FALSE
+ ,G_PARAM_READWRITE
+ ));
+}
+
+static void vn_list_model_tree_model_init (GtkTreeModelIface * iface)
+{
+ iface->get_flags = vn_list_model_get_flags;
+ iface->get_n_columns = vn_list_model_get_ncols;
+ iface->get_column_type = vn_list_model_get_column_type;
+ iface->get_iter = vn_list_model_get_iter;
+ iface->get_path = vn_list_model_get_path;
+ iface->get_value = vn_list_model_get_value;
+ iface->iter_next = vn_list_model_iter_next;
+ iface->iter_previous = vn_list_model_iter_previous;
+
+ iface->iter_children = vn_list_model_iter_children;
+ iface->iter_has_child = vn_list_model_iter_has_child;
+ iface->iter_n_children = vn_list_model_iter_n_children;
+ iface->iter_nth_child = vn_list_model_iter_nth_child;
+ iface->iter_parent = vn_list_model_iter_parent;
+}
+
+static void vn_list_model_tree_sortable_init (GtkTreeSortableIface * iface)
+{
+ iface->get_sort_column_id = vn_list_model_get_sort_column_id;
+ iface->set_sort_column_id = vn_list_model_set_sort_column_id;
+ iface->set_sort_func = vn_list_model_set_sort_func;
+ iface->set_default_sort_func = vn_list_model_set_default_sort_func;
+ iface->has_default_sort_func = vn_list_model_has_default_sort_func;
+}
diff --git a/vn/vn-grid-model.h b/vn/vn-list-model.h
similarity index 53%
rename from vn/vn-grid-model.h
rename to vn/vn-list-model.h
index 670f128..cd1eae5 100644
--- a/vn/vn-grid-model.h
+++ b/vn/vn-list-model.h
@@ -15,47 +15,47 @@
* along with this program. If not, see .
*/
-#ifndef VN_GRID_MODEL_H
-#define VN_GRID_MODEL_H
+#ifndef VN_LIST_MODEL_H
+#define VN_LIST_MODEL_H
#include
#include
#include
-#define VN_TYPE_GRID_MODEL (vn_grid_model_get_type())
-#define VN_GRID_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VN_TYPE_GRID_MODEL, VnGridModel))
-#define VN_IS_GRID_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VN_TYPE_GRID_MODEL))
-#define VN_GRID_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VN_TYPE_GRID_MODEL, VnGridModelClass))
-#define VN_IS_GRID_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VN_TYPE_GRID_MODEL))
-#define VN_GRID_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VN_TYPE_GRID_MODEL, VnGridModelClass))
-
-#define VN_GRID_MODEL_LOG_DOMAIN (g_quark_from_string ("VnGridModel"))
+#define VN_TYPE_LIST_MODEL (vn_list_model_get_type())
+#define VN_LIST_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VN_TYPE_LIST_MODEL, VnListModel))
+#define VN_IS_LIST_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VN_TYPE_LIST_MODEL))
+#define VN_LIST_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VN_TYPE_LIST_MODEL, VnListModelClass))
+#define VN_IS_LIST_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VN_TYPE_LIST_MODEL))
+#define VN_LIST_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VN_TYPE_LIST_MODEL, VnListModelClass))
#define gtk_tree_iter_from_db_iter(d,s) vn_gtk_tree_iter_from_db_iter(d,s)
#define gtk_tree_iter_to_db_iter(s,d) vn_gtk_tree_iter_to_db_iter(s,d)
-typedef struct _VnGridModel VnGridModel;
-typedef struct _VnGridModelClass VnGridModelClass;
+typedef struct _VnListModel VnListModel;
+typedef struct _VnListModelClass VnListModelClass;
-struct _VnGridModel
+struct _VnListModel
{
GObject parent;
DbModel * model;
+ gboolean null_row;
};
-struct _VnGridModelClass
+struct _VnListModelClass
{
/* */
GObjectClass parent;
};
-GType vn_grid_model_get_type ();
-VnGridModel * vn_grid_model_new (DbModel * model);
-DbModel * vn_grid_model_get_model (VnGridModel * obj);
-gboolean vn_grid_model_iter_is_valid (GtkTreeIter * iter, GtkTreeModel * model);
+GType vn_list_model_get_type ();
+VnListModel * vn_list_model_new (DbModel * model);
+DbModel * vn_list_model_get_model (VnListModel * obj);
+gboolean vn_list_model_iter_is_valid (GtkTreeIter * iter, GtkTreeModel * model);
void vn_gtk_tree_iter_from_db_iter (GtkTreeIter * dest_iter
,const DbIter * src_iter);
void vn_gtk_tree_iter_to_db_iter (const GtkTreeIter * src_iter
,DbIter * dest_iter);
+void vn_list_model_use_null_row (VnListModel * self, gboolean use);
#endif
\ No newline at end of file
diff --git a/vn/vn.h b/vn/vn.h
index 2d9a0b9..08c3e8a 100644
--- a/vn/vn.h
+++ b/vn/vn.h
@@ -20,7 +20,7 @@
#include
#include
-#include "vn-grid-model.h"
+#include "vn-list-model.h"
#include "vn-handler.h"
#include "vn-grid.h"
#include "vn-login.h"