Plug-in de Glade:
- SqlBatch es un objeto (VnBatch) en lugar de una propiedad del modelo. - Editor de Sql del VnModel con opción de guardar. - GvnParam se ha quitado del plug-in, ya que ahora es una interfaz.
This commit is contained in:
parent
b6f58de70d
commit
dd589deb9c
|
@ -9,8 +9,7 @@ template_DATA = \
|
|||
hedera/anjuta.session.tpl \
|
||||
hedera/AUTHORS.tpl \
|
||||
hedera/configure.ac.tpl \
|
||||
hedera/Makefile.am.tpl \
|
||||
hedera/translation
|
||||
hedera/Makefile.am.tpl
|
||||
|
||||
anjuta_srcdir = $(templatedir)/src
|
||||
anjuta_src_DATA = \
|
||||
|
|
|
@ -25,7 +25,9 @@ SUBDIRS = \
|
|||
|
||||
translationsdir =
|
||||
translations_DATA = \
|
||||
po/es.po
|
||||
po/es.po \
|
||||
po/POTFILES.in \
|
||||
po/POTFILES.skip
|
||||
[+ENDIF+]
|
||||
EXTRA_DIST = \
|
||||
README \
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
[+ autogen5 template +]
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.0"/>
|
||||
<menu id='menu'>
|
||||
<menu id="menu">
|
||||
<item>
|
||||
<attribute name='label' translatable='yes'>[+FormClassName+]</attribute>
|
||||
<attribute name='action'>win.open-form</attribute>
|
||||
<attribute name='target'>[+FormName+]</attribute>
|
||||
<attribute name='accel'>F1</attribute>
|
||||
<attribute name="label" translatable="yes">[+FormClassName+]</attribute>
|
||||
<attribute name="action">win.open-form</attribute>
|
||||
<attribute name="target">[+FormName+]</attribute>
|
||||
<attribute name="accel">F1</attribute>
|
||||
</item>
|
||||
</menu>
|
||||
</interface>
|
||||
|
|
|
@ -1,49 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
getopt -Q \
|
||||
-o "hua:" \
|
||||
-l "help,update,add:" \
|
||||
-n "./translation" \
|
||||
-- $@
|
||||
|
||||
case "$1" in
|
||||
-u|--update|'')
|
||||
cd ./po
|
||||
intltool-update -r
|
||||
cd ..
|
||||
;;
|
||||
|
||||
-a|--add)
|
||||
arg=$2
|
||||
|
||||
if [ -z $arg ]; then
|
||||
exit 1;
|
||||
elif [ ${#arg} -lt 2 ]; then
|
||||
echo "./translation: language codes are at least two characters long." > /dev/stderr
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
msginit -i po/*.pot -o po/$arg.po -l $arg.utf8
|
||||
echo $arg >> po/LINGUAS
|
||||
#sort po/LINGUAS -o po/LINGUAS
|
||||
;;
|
||||
|
||||
-h|--help)
|
||||
echo -e \
|
||||
"Translation helper script.
|
||||
Note that only the first option is used. If no option is
|
||||
passed the '\033[1m-u\033[0m' option is used by default.
|
||||
Options:
|
||||
\033[1m-u, --update\033[0m
|
||||
Update the currently existing translations and
|
||||
the translations template. Also reports the current
|
||||
status of the translations.
|
||||
\033[1m-a, --add\033[0m \033[4mlang\033[0m
|
||||
Add a new translation for the \033[4mlang\033[0m language
|
||||
(using the gettext language and country codes), the
|
||||
charset will automatically be set to UTF-8. You will
|
||||
be asked to select your e-mail from a list.
|
||||
\033[1m-h, --help\033[0m
|
||||
Print this help text and exit."
|
||||
;;
|
||||
esac
|
|
@ -29,7 +29,7 @@
|
|||
* db_model_holder_get_model() and db_model_holder_set_model() methods.
|
||||
**/
|
||||
|
||||
G_DEFINE_INTERFACE (DbModelHolder, db_model_holder, G_TYPE_INVALID);
|
||||
G_DEFINE_INTERFACE (DbModelHolder, db_model_holder, G_TYPE_OBJECT);
|
||||
|
||||
/**
|
||||
* db_model_holder_get_model:
|
||||
|
|
|
@ -15,6 +15,7 @@ libgladevn_la_LDFLAGS = -avoid-version
|
|||
libgladevn_la_SOURCES = \
|
||||
glade-vn.h \
|
||||
glade-vn.c \
|
||||
glade-sql-batch.c \
|
||||
glade-vn-set.c \
|
||||
glade-db-model.c \
|
||||
glade-db-model-editor.h \
|
||||
|
|
|
@ -19,13 +19,22 @@
|
|||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ GladeModelEditor
|
||||
|
||||
static void glade_model_editor_add_list_eprop (GladeModelEditor * obj,
|
||||
GladeWidgetAdaptor * adaptor, const gchar * name, const gchar * tooltip)
|
||||
GtkWidget * glade_model_editor_new (GladeWidgetAdaptor * adaptor,
|
||||
GladeEditable * editable)
|
||||
{
|
||||
GtkWidget * frame, * alignment, * vbox;
|
||||
GladeEditorProperty * eprop =
|
||||
glade_widget_adaptor_create_eprop_by_name (adaptor, name, FALSE, TRUE);
|
||||
GladeEditorProperty * eprop;
|
||||
GladeModelEditor * obj;
|
||||
|
||||
g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
|
||||
g_return_val_if_fail (GLADE_IS_EDITABLE (editable), NULL);
|
||||
|
||||
obj = g_object_new (GLADE_TYPE_MODEL_EDITOR,
|
||||
"orientation", GTK_ORIENTATION_VERTICAL, NULL);
|
||||
obj->base = GTK_WIDGET (editable);
|
||||
gtk_box_pack_start (GTK_BOX (obj), GTK_WIDGET (editable), TRUE, TRUE, 0);
|
||||
|
||||
eprop = glade_widget_adaptor_create_eprop_by_name (adaptor, "links", FALSE, TRUE);
|
||||
obj->props = g_list_prepend (obj->props, eprop);
|
||||
|
||||
frame = gtk_frame_new (NULL);
|
||||
|
@ -42,27 +51,7 @@ static void glade_model_editor_add_list_eprop (GladeModelEditor * obj,
|
|||
gtk_container_add (GTK_CONTAINER (alignment), vbox);
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (eprop), FALSE, FALSE, 4);
|
||||
gtk_widget_set_tooltip_text (vbox, tooltip);
|
||||
}
|
||||
|
||||
GtkWidget * glade_model_editor_new (GladeWidgetAdaptor * adaptor,
|
||||
GladeEditable * editable)
|
||||
{
|
||||
GladeModelEditor * obj;
|
||||
|
||||
g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
|
||||
g_return_val_if_fail (GLADE_IS_EDITABLE (editable), NULL);
|
||||
|
||||
obj = g_object_new (GLADE_TYPE_MODEL_EDITOR,
|
||||
"orientation", GTK_ORIENTATION_VERTICAL, NULL);
|
||||
obj->base = GTK_WIDGET (editable);
|
||||
gtk_box_pack_start (GTK_BOX (obj), GTK_WIDGET (editable), TRUE, TRUE, 0);
|
||||
|
||||
glade_model_editor_add_list_eprop (obj, adaptor, "links",
|
||||
_("List of parameters linked to the model"));
|
||||
|
||||
glade_model_editor_add_list_eprop (obj, adaptor, "batch",
|
||||
_("List of SqlHolders and identifiers"));
|
||||
gtk_widget_set_tooltip_text (vbox, _("List of parameters linked to the model"));
|
||||
|
||||
gtk_widget_show_all (GTK_WIDGET (obj));
|
||||
return GTK_WIDGET (obj);
|
||||
|
@ -112,6 +101,8 @@ static void glade_model_editor_class_init (GladeModelEditorClass * k)
|
|||
|
||||
static void glade_model_editor_init (GladeModelEditor * obj)
|
||||
{
|
||||
obj->props = NULL;
|
||||
obj->base = NULL;
|
||||
}
|
||||
|
||||
static void glade_model_editor_editable_init (GladeEditableIface * iface)
|
||||
|
@ -122,26 +113,3 @@ static void glade_model_editor_editable_init (GladeEditableIface * iface)
|
|||
|
||||
G_DEFINE_TYPE_WITH_CODE (GladeModelEditor, glade_model_editor, GTK_TYPE_BOX,
|
||||
G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE, glade_model_editor_editable_init));
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ GladeDbList
|
||||
|
||||
G_DEFINE_BOXED_TYPE (GladeDbList, glade_db_list, glade_db_list_copy, glade_db_list_free);
|
||||
|
||||
void glade_db_list_free (GladeDbList * list)
|
||||
{
|
||||
if (!list)
|
||||
return;
|
||||
|
||||
if (list->list)
|
||||
g_object_unref (list->list);
|
||||
|
||||
g_free (list);
|
||||
list = NULL;
|
||||
}
|
||||
|
||||
GladeDbList * glade_db_list_copy (const GladeDbList * list)
|
||||
{
|
||||
GladeDbList * l = g_new (GladeDbList, 1);
|
||||
l->list = list->list ? g_object_ref (list->list) : NULL;
|
||||
return l;
|
||||
}
|
||||
|
|
|
@ -47,17 +47,4 @@ GType glade_model_editor_get_type (void) G_GNUC_CONST;
|
|||
GtkWidget * glade_model_editor_new (GladeWidgetAdaptor * adaptor,
|
||||
GladeEditable * editable);
|
||||
|
||||
#define GLADE_TYPE_DB_LIST (glade_db_list_get_type())
|
||||
|
||||
typedef struct _GladeDbList GladeDbList;
|
||||
|
||||
struct _GladeDbList
|
||||
{
|
||||
GtkListStore * list;
|
||||
};
|
||||
|
||||
GType glade_db_list_get_type (void) G_GNUC_CONST;
|
||||
void glade_db_list_free (GladeDbList * list);
|
||||
GladeDbList * glade_db_list_copy (const GladeDbList * list);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -46,6 +46,8 @@ typedef struct
|
|||
GtkWidget * entry;
|
||||
gint width;
|
||||
gint height;
|
||||
gint x;
|
||||
gint y;
|
||||
}
|
||||
GladeEPropSql;
|
||||
|
||||
|
@ -57,18 +59,87 @@ GLADE_MAKE_EPROP (GladeEPropSql, glade_eprop_sql)
|
|||
#define GLADE_IS_EPROP_SQL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_EPROP_SQL))
|
||||
#define GLADE_EPROP_SQL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GLADE_EPROP_SQL, GladeEPropSqlClass))
|
||||
|
||||
typedef struct
|
||||
{
|
||||
GladeEditorProperty * eprop;
|
||||
GtkTextBuffer * buffer;
|
||||
}
|
||||
SqlEditorData;
|
||||
|
||||
void glade_eprop_sql_set_text_from_buffer (GladeEditorProperty * eprop, GtkTextBuffer * buffer)
|
||||
{
|
||||
gchar * sql;
|
||||
GValue val = G_VALUE_INIT;
|
||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||
GtkTextIter * start = g_new (GtkTextIter, 1),
|
||||
* end = g_new (GtkTextIter, 1);
|
||||
g_value_init (&val, G_TYPE_STRING);
|
||||
|
||||
gtk_text_buffer_get_bounds (buffer, start, end);
|
||||
sql = gtk_text_buffer_get_text (buffer, start, end, TRUE);
|
||||
g_value_set_string (&val, sql);
|
||||
glade_command_set_property_value (p, &val);
|
||||
|
||||
g_value_unset (&val);
|
||||
g_free (start);
|
||||
g_free (end);
|
||||
}
|
||||
|
||||
static gboolean glade_eprop_sql_editor_save (GladeEditorProperty * eprop,
|
||||
GtkTextBuffer * buffer)
|
||||
{
|
||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||
GladeWidget * widget = glade_property_get_widget (p);
|
||||
GladeProject * project = glade_widget_get_project (widget);
|
||||
const gchar * path = glade_project_get_path (project);
|
||||
|
||||
glade_eprop_sql_set_text_from_buffer (eprop, buffer);
|
||||
|
||||
if (!path)
|
||||
{
|
||||
GtkWidget * dialog = glade_util_file_dialog_new (_("Save as...")
|
||||
,project
|
||||
,GTK_WINDOW (glade_app_get_window ())
|
||||
,GLADE_FILE_DIALOG_ACTION_SAVE);
|
||||
|
||||
if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK)
|
||||
path = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
|
||||
|
||||
gtk_widget_destroy (dialog);
|
||||
}
|
||||
|
||||
return path ? glade_project_save (project, path, NULL) : FALSE;
|
||||
}
|
||||
|
||||
static void glade_eprop_sql_on_editor_save_clicked (GtkToolButton * button,
|
||||
SqlEditorData * data)
|
||||
{
|
||||
glade_eprop_sql_editor_save (data->eprop, data->buffer);
|
||||
}
|
||||
|
||||
static gboolean glade_eprop_sql_on_editor_key_pressed (GtkWidget * widget,
|
||||
GdkEventKey * event, SqlEditorData * data)
|
||||
{
|
||||
if (event->state & GDK_CONTROL_MASK
|
||||
&& (event->keyval == GDK_KEY_S || event->keyval == GDK_KEY_s))
|
||||
return glade_eprop_sql_editor_save (data->eprop, data->buffer);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void glade_eprop_sql_show_dialog (GtkButton * button, GladeEditorProperty * eprop)
|
||||
{
|
||||
gpointer text, buffer;
|
||||
const gchar * sql;
|
||||
GladeEPropSql * obj = GLADE_EPROP_SQL (eprop);
|
||||
PangoFontDescription * font;
|
||||
GtkWidget * scroll;
|
||||
GtkWidget * dialog_area, * scroll, * toolbar, * item;
|
||||
GtkStyleContext * context;
|
||||
SqlEditorData * data;
|
||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||
GtkDialog * dialog = GTK_DIALOG (gtk_dialog_new_with_buttons
|
||||
(_("SQL Editor")
|
||||
,GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (eprop)))
|
||||
,GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT
|
||||
,NULL
|
||||
,GTK_DIALOG_DESTROY_WITH_PARENT
|
||||
,_("OK"), GTK_RESPONSE_OK
|
||||
,_("Clear"), GTK_RESPONSE_REJECT
|
||||
,_("Cancel"), GTK_RESPONSE_CANCEL
|
||||
|
@ -78,15 +149,19 @@ static void glade_eprop_sql_show_dialog (GtkButton * button, GladeEditorProperty
|
|||
gtk_dialog_set_default_response (dialog, GTK_RESPONSE_OK);
|
||||
gtk_window_set_default_size (GTK_WINDOW (dialog), obj->width, obj->height);
|
||||
|
||||
if (obj->x && obj->y)
|
||||
gtk_window_move (GTK_WINDOW (dialog), obj->x, obj->y);
|
||||
|
||||
dialog_area = gtk_dialog_get_content_area (dialog);
|
||||
gtk_widget_set_margin_top (dialog_area, 6);
|
||||
gtk_widget_set_margin_bottom (dialog_area, 6);
|
||||
gtk_widget_set_margin_start (dialog_area, 6);
|
||||
gtk_widget_set_margin_end (dialog_area, 6);
|
||||
|
||||
scroll = gtk_scrolled_window_new (gtk_adjustment_new (0,0,0,0,0,0),
|
||||
gtk_adjustment_new (0,0,0,0,0,0));
|
||||
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), GTK_SHADOW_IN);
|
||||
gtk_widget_set_margin_top (scroll, 6);
|
||||
gtk_widget_set_margin_bottom (scroll, 6);
|
||||
gtk_widget_set_margin_start (scroll, 6);
|
||||
gtk_widget_set_margin_end (scroll, 6);
|
||||
gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (dialog)),
|
||||
scroll, TRUE, TRUE, 6);
|
||||
gtk_box_pack_start (GTK_BOX (dialog_area), scroll, TRUE, TRUE, 0);
|
||||
|
||||
#ifdef _HAVE_GTKSOURCEVIEW
|
||||
GtkSourceLanguageManager * lm = gtk_source_language_manager_new ();
|
||||
|
@ -111,25 +186,38 @@ static void glade_eprop_sql_show_dialog (GtkButton * button, GladeEditorProperty
|
|||
gtk_text_buffer_set_text (buffer, sql, -1);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (scroll), text);
|
||||
gtk_widget_show_all (scroll);
|
||||
|
||||
data = g_new (SqlEditorData, 1);
|
||||
data->eprop = eprop;
|
||||
data->buffer = buffer;
|
||||
|
||||
g_signal_connect (dialog, "key-press-event",
|
||||
G_CALLBACK (glade_eprop_sql_on_editor_key_pressed), data);
|
||||
|
||||
toolbar = gtk_toolbar_new ();
|
||||
gtk_box_pack_start (GTK_BOX (dialog_area), toolbar, FALSE, TRUE, 0);
|
||||
|
||||
item = GTK_WIDGET (g_object_new (GTK_TYPE_TOOL_BUTTON,
|
||||
"icon-widget", gtk_image_new_from_icon_name
|
||||
("document-save-symbolic", GTK_ICON_SIZE_SMALL_TOOLBAR), NULL));
|
||||
gtk_widget_set_tooltip_text (item, _("Save project"));
|
||||
g_signal_connect (item, "clicked",
|
||||
G_CALLBACK (glade_eprop_sql_on_editor_save_clicked), data);
|
||||
gtk_container_add (GTK_CONTAINER (toolbar), item);
|
||||
|
||||
context = gtk_widget_get_style_context (scroll);
|
||||
gtk_style_context_set_junction_sides (context, GTK_JUNCTION_BOTTOM);
|
||||
context = gtk_widget_get_style_context (toolbar);
|
||||
gtk_style_context_add_class (context, GTK_STYLE_CLASS_INLINE_TOOLBAR);
|
||||
gtk_style_context_set_junction_sides (context, GTK_JUNCTION_TOP);
|
||||
|
||||
gtk_widget_show_all (dialog_area);
|
||||
|
||||
switch (gtk_dialog_run (dialog))
|
||||
{
|
||||
case GTK_RESPONSE_OK:
|
||||
{
|
||||
GValue val = G_VALUE_INIT;
|
||||
GtkTextIter * start = g_new (GtkTextIter, 1),
|
||||
* end = g_new (GtkTextIter, 1);
|
||||
g_value_init (&val, G_TYPE_STRING);
|
||||
gtk_text_buffer_get_bounds (buffer, start, end);
|
||||
|
||||
sql = gtk_text_buffer_get_text (buffer, start, end, TRUE);
|
||||
g_value_set_string (&val, sql);
|
||||
glade_command_set_property_value (p, &val);
|
||||
|
||||
g_value_unset (&val);
|
||||
g_free (start);
|
||||
g_free (end);
|
||||
glade_eprop_sql_set_text_from_buffer (eprop, buffer);
|
||||
break;
|
||||
}
|
||||
case GTK_RESPONSE_REJECT:
|
||||
|
@ -148,7 +236,9 @@ static void glade_eprop_sql_show_dialog (GtkButton * button, GladeEditorProperty
|
|||
|
||||
obj->width = gtk_widget_get_allocated_width (GTK_WIDGET (dialog));
|
||||
obj->height = gtk_widget_get_allocated_height (GTK_WIDGET (dialog));
|
||||
gtk_window_get_position (GTK_WINDOW (dialog), &obj->x, &obj->y);
|
||||
gtk_widget_destroy (GTK_WIDGET (dialog));
|
||||
g_free (data);
|
||||
}
|
||||
|
||||
static void glade_eprop_sql_entry_text_changed (GtkEntry * entry,
|
||||
|
@ -186,8 +276,10 @@ static GtkWidget * glade_eprop_sql_create_input (GladeEditorProperty * eprop)
|
|||
|
||||
gtk_widget_show_all (box);
|
||||
|
||||
obj->width = 750;
|
||||
obj->height = 550;
|
||||
obj->width = 930;
|
||||
obj->height = 730;
|
||||
obj->x = 0;
|
||||
obj->y = 0;
|
||||
|
||||
return box;
|
||||
}
|
||||
|
@ -215,7 +307,8 @@ static void glade_eprop_sql_finalize (GObject * object)
|
|||
GObjectClass * parent_class = g_type_class_peek_parent (G_OBJECT_GET_CLASS (object));
|
||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||
}
|
||||
//++++++++++++++++++++++++++++ Structure and prototypes for Links and Batch
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Links Editor Property
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
@ -224,19 +317,7 @@ typedef struct
|
|||
GtkTreeView * view;
|
||||
gchar * path;
|
||||
}
|
||||
GladeListEProp;
|
||||
|
||||
void param_col_cell_data (GtkTreeViewColumn * view, GtkCellRenderer * cell,
|
||||
GtkTreeModel * model, GtkTreeIter * iter, gpointer data);
|
||||
static void glade_list_eprop_add_param_column (GladeListEProp * obj);
|
||||
static void glade_list_eporp_on_string_col_edited (GtkCellRendererText * cell,
|
||||
gchar * path, const gchar * text, GladeEditorProperty * eprop);
|
||||
static void glade_list_eprop_create_input (GladeListEProp * obj, GtkWidget * box,
|
||||
gchar * string);
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Links Editor Property
|
||||
|
||||
typedef GladeListEProp GladeEPropLinks;
|
||||
GladeEPropLinks;
|
||||
|
||||
GLADE_MAKE_EPROP (GladeEPropLinks, glade_eprop_links)
|
||||
#define GLADE_TYPE_EPROP_LINKS (glade_eprop_links_get_type ())
|
||||
|
@ -248,171 +329,66 @@ GLADE_MAKE_EPROP (GladeEPropLinks, glade_eprop_links)
|
|||
|
||||
enum
|
||||
{
|
||||
LINKS_FIELD_COL
|
||||
,LINKS_PARAM_COL
|
||||
,LINKS_LINKED_COL
|
||||
,LINKS_N_COLS
|
||||
FIELD_COL
|
||||
,PARAM_COL
|
||||
,LINKED_COL
|
||||
,N_COLS
|
||||
};
|
||||
|
||||
static void linked_col_cell_data (GtkTreeViewColumn * view, GtkCellRenderer * cell,
|
||||
GtkTreeModel * model, GtkTreeIter * iter, gpointer data)
|
||||
static void glade_eprop_links_on_param_col_clicked (GtkEntry * entry,
|
||||
GtkEntryIconPosition icon_pos, GdkEvent * event, GladeEditorProperty * eprop)
|
||||
{
|
||||
gboolean val;
|
||||
gtk_tree_model_get (model, iter, LINKS_LINKED_COL, &val, -1);
|
||||
gtk_cell_renderer_toggle_set_active (GTK_CELL_RENDERER_TOGGLE (cell), val);
|
||||
}
|
||||
|
||||
static void glade_eprop_links_on_linked_col_toggled (GtkCellRendererToggle * cell,
|
||||
gchar * path, GladeEditorProperty * eprop)
|
||||
{
|
||||
gboolean val;
|
||||
GtkTreeIter iter;
|
||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||
GladeDbList * list = g_value_get_boxed (glade_property_inline_value (p));
|
||||
GtkListStore * store = list->list;
|
||||
GladeWidget * widget = glade_property_get_widget (p);
|
||||
GladeProject * project = glade_widget_get_project (widget);
|
||||
GtkListStore * store = ((GladeVnList *) g_value_get_boxed (glade_property_inline_value (p)))->list;
|
||||
gchar * path = GLADE_EPROP_LINKS (eprop)->path;
|
||||
|
||||
if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
||||
return;
|
||||
|
||||
gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, LINKS_LINKED_COL, &val, -1);
|
||||
gtk_list_store_set (store, &iter, LINKS_LINKED_COL, !val, -1);
|
||||
gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, PARAM_COL, &widget, -1);
|
||||
|
||||
if (glade_editor_property_show_object_dialog (project,
|
||||
_("Select a GvnParam"), NULL, GVN_TYPE_PARAM, NULL, &widget))
|
||||
{
|
||||
if (widget)
|
||||
gtk_list_store_set (store, &iter, PARAM_COL, widget, -1);
|
||||
else
|
||||
gtk_list_store_set (store, &iter, PARAM_COL, NULL, -1);
|
||||
}
|
||||
}
|
||||
|
||||
static GtkWidget * glade_eprop_links_create_input (GladeEditorProperty * eprop)
|
||||
static gboolean glade_eprop_links_on_param_key_pressed (GtkEntry * entry,
|
||||
GdkEventKey * event, GladeEditorProperty * eprop)
|
||||
{
|
||||
GtkCellRenderer * cell;
|
||||
GtkTreeViewColumn * column;
|
||||
GladeEPropLinks * obj = GLADE_EPROP_LINKS (eprop);
|
||||
GtkWidget * box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
|
||||
if (event->keyval == GDK_KEY_Return)
|
||||
{
|
||||
glade_eprop_links_on_param_col_clicked (entry, 0, NULL, eprop);
|
||||
return TRUE;
|
||||
}
|
||||
else if (event->keyval == GDK_KEY_Delete)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
gchar * path = GLADE_EPROP_LINKS (eprop)->path;
|
||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||
GtkListStore * store = ((GladeVnList *) g_value_get_boxed (glade_property_inline_value (p)))->list;
|
||||
|
||||
glade_list_eprop_create_input ((GladeListEProp *) obj, box,
|
||||
_("<b>Add or remove links</b>"));
|
||||
|
||||
cell = gtk_cell_renderer_text_new ();
|
||||
g_object_set (cell, "editable", TRUE, NULL);
|
||||
column = gtk_tree_view_column_new_with_attributes (_("Column"), cell,
|
||||
"text", LINKS_FIELD_COL, NULL);
|
||||
gtk_tree_view_column_set_expand (column, TRUE);
|
||||
g_signal_connect (cell, "edited",
|
||||
G_CALLBACK (glade_list_eporp_on_string_col_edited), obj);
|
||||
gtk_tree_view_append_column (obj->view, column);
|
||||
|
||||
glade_list_eprop_add_param_column (obj);
|
||||
|
||||
cell = gtk_cell_renderer_toggle_new ();
|
||||
column = gtk_tree_view_column_new_with_attributes (C_("Verb", "Link"), cell, NULL);
|
||||
gtk_tree_view_column_set_cell_data_func (column, cell, linked_col_cell_data, obj, NULL);
|
||||
g_signal_connect (cell, "toggled",
|
||||
G_CALLBACK (glade_eprop_links_on_linked_col_toggled), obj);
|
||||
gtk_tree_view_append_column (obj->view, column);
|
||||
|
||||
g_object_set (G_OBJECT (box), "height-request", 200, NULL);
|
||||
gtk_widget_show_all (box);
|
||||
return box;
|
||||
if (gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
||||
{
|
||||
gtk_list_store_set (store, &iter, PARAM_COL, NULL, -1);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void glade_eprop_links_finalize (GObject * object)
|
||||
{
|
||||
GladeEPropLinks * obj = GLADE_EPROP_LINKS (object);
|
||||
GObjectClass * parent = g_type_class_peek_parent (GLADE_EPROP_LINKS_GET_CLASS (obj));
|
||||
parent->finalize (G_OBJECT (obj));
|
||||
}
|
||||
|
||||
static void glade_eprop_links_load (GladeEditorProperty * eprop, GladeProperty * property)
|
||||
{
|
||||
GladeDbList * list;
|
||||
GladeEPropLinks * obj = GLADE_EPROP_LINKS (eprop);
|
||||
GladeEditorPropertyClass * parent_class =
|
||||
g_type_class_peek_parent (GLADE_EDITOR_PROPERTY_GET_CLASS (eprop));
|
||||
parent_class->load (eprop, property);
|
||||
|
||||
if (!property)
|
||||
return;
|
||||
|
||||
if ((list = g_value_get_boxed (glade_property_inline_value (property))))
|
||||
gtk_tree_view_set_model (obj->view, GTK_TREE_MODEL (list->list));
|
||||
else
|
||||
gtk_tree_view_set_model (obj->view, NULL);
|
||||
}
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Batch Editor Property
|
||||
|
||||
typedef GladeListEProp GladeEPropBatch;
|
||||
|
||||
enum
|
||||
{
|
||||
BATCH_ID_COL
|
||||
,BATCH_PARAM_COL
|
||||
,BATCH_N_COLS
|
||||
};
|
||||
|
||||
GLADE_MAKE_EPROP (GladeEPropBatch, glade_eprop_batch)
|
||||
#define GLADE_TYPE_EPROP_BATCH (glade_eprop_batch_get_type ())
|
||||
#define GLADE_EPROP_BATCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLADE_TYPE_EPROP_BATCH, GladeEPropBatch))
|
||||
#define GLADE_EPROP_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLADE_TYPE_EPROP_BATCH, GladeEPropBatchClass))
|
||||
#define GLADE_IS_EPROP_BATCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLADE_TYPE_EPROP_BATCH))
|
||||
#define GLADE_IS_EPROP_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_EPROP_BATCH))
|
||||
#define GLADE_EPROP_BATCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GLADE_EPROP_BATCH, GladeEPropBatchClass))
|
||||
|
||||
static GtkWidget * glade_eprop_batch_create_input (GladeEditorProperty * eprop)
|
||||
{
|
||||
GtkCellRenderer * cell;
|
||||
GtkTreeViewColumn * column;
|
||||
GladeEPropBatch * obj = GLADE_EPROP_BATCH (eprop);
|
||||
GtkWidget * box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
|
||||
|
||||
glade_list_eprop_create_input ((GladeListEProp *) obj, box,
|
||||
_("<b>Add or remove holders</b>"));
|
||||
|
||||
cell = gtk_cell_renderer_text_new ();
|
||||
g_object_set (cell, "editable", TRUE, NULL);
|
||||
column = gtk_tree_view_column_new_with_attributes (_("Identifier"), cell,
|
||||
"text", BATCH_ID_COL, NULL);
|
||||
gtk_tree_view_column_set_expand (column, TRUE);
|
||||
g_signal_connect (cell, "edited",
|
||||
G_CALLBACK (glade_list_eporp_on_string_col_edited), obj);
|
||||
gtk_tree_view_append_column (obj->view, column);
|
||||
|
||||
glade_list_eprop_add_param_column (obj);
|
||||
|
||||
g_object_set (G_OBJECT (box), "height-request", 200, NULL);
|
||||
gtk_widget_show_all (box);
|
||||
return box;
|
||||
}
|
||||
|
||||
void glade_eprop_batch_finalize (GObject * object)
|
||||
{
|
||||
GladeEPropBatch * obj = GLADE_EPROP_BATCH (object);
|
||||
GObjectClass * parent = g_type_class_peek_parent (GLADE_EPROP_BATCH_GET_CLASS (obj));
|
||||
parent->finalize (G_OBJECT (obj));
|
||||
}
|
||||
|
||||
static void glade_eprop_batch_load (GladeEditorProperty * eprop, GladeProperty * property)
|
||||
{
|
||||
GladeDbList * list;
|
||||
GladeEPropBatch * obj = GLADE_EPROP_BATCH (eprop);
|
||||
GladeEditorPropertyClass * parent_class =
|
||||
g_type_class_peek_parent (GLADE_EDITOR_PROPERTY_GET_CLASS (eprop));
|
||||
parent_class->load (eprop, property);
|
||||
|
||||
if (!property)
|
||||
return;
|
||||
|
||||
if ((list = g_value_get_boxed (glade_property_inline_value (property))))
|
||||
gtk_tree_view_set_model (obj->view, GTK_TREE_MODEL (list->list));
|
||||
else
|
||||
gtk_tree_view_set_model (obj->view, NULL);
|
||||
}
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++ Methods common to Links and Batch
|
||||
|
||||
void param_col_cell_data (GtkTreeViewColumn * view, GtkCellRenderer * cell,
|
||||
static void param_col_cell_data (GtkTreeViewColumn * view, GtkCellRenderer * cell,
|
||||
GtkTreeModel * model, GtkTreeIter * iter, gpointer data)
|
||||
{
|
||||
GladeWidget * param;
|
||||
gint col = GLADE_IS_EPROP_LINKS (data) ? LINKS_PARAM_COL : BATCH_PARAM_COL;
|
||||
|
||||
gtk_tree_model_get (model, iter, col, ¶m, -1);
|
||||
gtk_tree_model_get (model, iter, PARAM_COL, ¶m, -1);
|
||||
|
||||
if (param)
|
||||
g_object_set (cell, "text", glade_widget_get_name (param), NULL);
|
||||
|
@ -420,61 +396,10 @@ void param_col_cell_data (GtkTreeViewColumn * view, GtkCellRenderer * cell,
|
|||
g_object_set (cell, "text", "", NULL);
|
||||
}
|
||||
|
||||
static void glade_list_eprop_on_param_col_clicked (GtkEntry * entry,
|
||||
GtkEntryIconPosition icon_pos, GdkEvent * event, GladeEditorProperty * eprop)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||
GladeWidget * widget = glade_property_get_widget (p);
|
||||
GladeProject * project = glade_widget_get_project (widget);
|
||||
GtkListStore * store = ((GladeDbList *) g_value_get_boxed (glade_property_inline_value (p)))->list;
|
||||
gchar * path = ((GladeListEProp *) eprop)->path;
|
||||
gint col = GLADE_IS_EPROP_LINKS (eprop) ? LINKS_PARAM_COL : BATCH_PARAM_COL;
|
||||
|
||||
if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
||||
return;
|
||||
|
||||
gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, col, &widget, -1);
|
||||
|
||||
if (glade_editor_property_show_object_dialog (project,
|
||||
_("Select a GvnParam"), NULL, GVN_TYPE_PARAM, NULL, &widget))
|
||||
{
|
||||
if (widget)
|
||||
gtk_list_store_set (store, &iter, col, widget, -1);
|
||||
else
|
||||
gtk_list_store_set (store, &iter, col, NULL, -1);
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean glade_list_eprop_on_param_key_pressed (GtkEntry * entry,
|
||||
GdkEventKey * event, GladeEditorProperty * eprop)
|
||||
{
|
||||
if (event->keyval == GDK_KEY_Return)
|
||||
{
|
||||
glade_list_eprop_on_param_col_clicked (entry, 0, NULL, eprop);
|
||||
return TRUE;
|
||||
}
|
||||
else if (event->keyval == GDK_KEY_Delete)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
gchar * path = ((GladeListEProp *) eprop)->path;
|
||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||
GtkListStore * store = ((GladeDbList *) g_value_get_boxed (glade_property_inline_value (p)))->list;
|
||||
|
||||
if (gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
||||
{
|
||||
gint col = GLADE_IS_EPROP_LINKS (eprop) ? LINKS_PARAM_COL : BATCH_PARAM_COL;
|
||||
gtk_list_store_set (store, &iter, col, NULL, -1);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void glade_list_eporp_on_param_col_editing_started (GtkCellRendererText * cell,
|
||||
static void glade_eporp_links_on_param_col_editing_started (GtkCellRendererText * cell,
|
||||
GtkEntry * entry, gchar * path, GladeEditorProperty * eprop)
|
||||
{
|
||||
GladeListEProp * obj = (GladeListEProp *) eprop;
|
||||
GladeEPropLinks * obj = GLADE_EPROP_LINKS (eprop);
|
||||
|
||||
if (GTK_IS_ENTRY (entry))
|
||||
{
|
||||
|
@ -503,9 +428,9 @@ static void glade_list_eporp_on_param_col_editing_started (GtkCellRendererText *
|
|||
obj->path = g_strdup (path);
|
||||
|
||||
g_signal_connect (entry, "icon-press",
|
||||
G_CALLBACK (glade_list_eprop_on_param_col_clicked), eprop);
|
||||
G_CALLBACK (glade_eprop_links_on_param_col_clicked), eprop);
|
||||
g_signal_connect (entry, "key-press-event",
|
||||
G_CALLBACK (glade_list_eprop_on_param_key_pressed), eprop);
|
||||
G_CALLBACK (glade_eprop_links_on_param_key_pressed), eprop);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -522,32 +447,42 @@ static void glade_list_eporp_on_param_col_editing_started (GtkCellRendererText *
|
|||
}
|
||||
}
|
||||
|
||||
static void glade_list_eprop_add_param_column (GladeListEProp * obj)
|
||||
{
|
||||
GtkTreeViewColumn * column;
|
||||
GtkCellRenderer * cell = gtk_cell_renderer_text_new ();
|
||||
g_object_set (cell, "editable", TRUE, NULL);
|
||||
column = gtk_tree_view_column_new_with_attributes (_("Param"), cell, NULL);
|
||||
gtk_tree_view_column_set_cell_data_func (column, cell, param_col_cell_data, obj, NULL);
|
||||
gtk_tree_view_column_set_expand (column, TRUE);
|
||||
g_signal_connect (cell, "editing-started",
|
||||
G_CALLBACK (glade_list_eporp_on_param_col_editing_started), obj);
|
||||
gtk_tree_view_append_column (obj->view, column);
|
||||
}
|
||||
|
||||
static void glade_list_eporp_on_string_col_edited (GtkCellRendererText * cell,
|
||||
static void glade_eporp_links_on_field_col_edited (GtkCellRendererText * cell,
|
||||
gchar * path, const gchar * text, GladeEditorProperty * eprop)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
gint col = GLADE_IS_EPROP_LINKS (eprop) ? LINKS_FIELD_COL : BATCH_ID_COL;
|
||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||
GladeDbList * list = g_value_get_boxed (glade_property_inline_value (p));
|
||||
GtkListStore * store = list->list;
|
||||
GladeVnList * list = g_value_get_boxed (glade_property_inline_value (p));
|
||||
GtkListStore * store = list->list;
|
||||
|
||||
if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
||||
return;
|
||||
|
||||
gtk_list_store_set (store, &iter, col, text, -1);
|
||||
gtk_list_store_set (store, &iter, FIELD_COL, text, -1);
|
||||
}
|
||||
|
||||
static void linked_col_cell_data (GtkTreeViewColumn * view, GtkCellRenderer * cell,
|
||||
GtkTreeModel * model, GtkTreeIter * iter, gpointer data)
|
||||
{
|
||||
gboolean val;
|
||||
gtk_tree_model_get (model, iter, LINKED_COL, &val, -1);
|
||||
gtk_cell_renderer_toggle_set_active (GTK_CELL_RENDERER_TOGGLE (cell), val);
|
||||
}
|
||||
|
||||
static void glade_eprop_links_on_linked_col_toggled (GtkCellRendererToggle * cell,
|
||||
gchar * path, GladeEditorProperty * eprop)
|
||||
{
|
||||
gboolean val;
|
||||
GtkTreeIter iter;
|
||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||
GladeVnList * list = g_value_get_boxed (glade_property_inline_value (p));
|
||||
GtkListStore * store = list->list;
|
||||
|
||||
if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
||||
return;
|
||||
|
||||
gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, LINKED_COL, &val, -1);
|
||||
gtk_list_store_set (store, &iter, LINKED_COL, !val, -1);
|
||||
}
|
||||
|
||||
static void glade_widget_on_remove_widget (GladeProject * project,
|
||||
|
@ -561,36 +496,30 @@ static void glade_widget_on_remove_widget (GladeProject * project,
|
|||
if (gtk_tree_model_get_iter_first (m, &iter))
|
||||
do
|
||||
{
|
||||
gint col = 1; // XXX LINKS_PARAM_COL and BATCH_PARAM_COL
|
||||
GladeWidget * param;
|
||||
gtk_tree_model_get (m, &iter, col, ¶m, -1);
|
||||
gtk_tree_model_get (m, &iter, PARAM_COL, ¶m, -1);
|
||||
|
||||
if (param == widget)
|
||||
gtk_list_store_set (store, &iter, col, NULL, -1);
|
||||
gtk_list_store_set (store, &iter, PARAM_COL, NULL, -1);
|
||||
}
|
||||
while (gtk_tree_model_iter_next (m, &iter));
|
||||
}
|
||||
}
|
||||
|
||||
static void glade_list_eprop_on_add_clicked (GtkButton * button, GladeListEProp * obj)
|
||||
static void glade_eporp_links_on_add_clicked (GtkButton * button,
|
||||
GladeEPropLinks * obj)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
GtkTreePath * path;
|
||||
GladeDbList * list;
|
||||
GladeVnList * list;
|
||||
GtkListStore * store;
|
||||
GladeProperty * p = glade_editor_property_get_property (GLADE_EDITOR_PROPERTY (obj));
|
||||
|
||||
if (!(list = g_value_get_boxed (glade_property_inline_value (p))))
|
||||
{
|
||||
list = g_new (GladeDbList, 1);
|
||||
|
||||
if (GLADE_IS_EPROP_LINKS (obj))
|
||||
list->list = gtk_list_store_new (LINKS_N_COLS,
|
||||
G_TYPE_STRING, GLADE_TYPE_WIDGET, G_TYPE_BOOLEAN);
|
||||
else
|
||||
list->list = gtk_list_store_new (BATCH_N_COLS,
|
||||
G_TYPE_STRING, GLADE_TYPE_WIDGET);
|
||||
|
||||
{
|
||||
list = g_new (GladeVnList, 1);
|
||||
list->list = gtk_list_store_new (N_COLS,
|
||||
G_TYPE_STRING, GLADE_TYPE_WIDGET, G_TYPE_BOOLEAN);
|
||||
glade_property_set (p, list);
|
||||
|
||||
g_signal_connect (glade_widget_get_project (glade_property_get_widget (p)),
|
||||
|
@ -610,8 +539,8 @@ static void glade_list_eprop_on_add_clicked (GtkButton * button, GladeListEProp
|
|||
gtk_tree_path_free (path);
|
||||
}
|
||||
|
||||
static void glade_list_eprop_on_remove_clicked (GtkButton * button,
|
||||
GladeListEProp * obj)
|
||||
static void glade_eporp_links_on_remove_clicked (GtkButton * button,
|
||||
GladeEPropLinks * obj)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
GtkListStore * store;
|
||||
|
@ -635,31 +564,34 @@ static void glade_list_eprop_on_remove_clicked (GtkButton * button,
|
|||
}
|
||||
}
|
||||
|
||||
static gboolean glade_list_eprop_on_view_key_press (GtkWidget * treeview,
|
||||
GdkEventKey * event, GladeListEProp * obj)
|
||||
static gboolean glade_eprop_links_on_view_key_press (GtkWidget * treeview,
|
||||
GdkEventKey * event, GladeEPropLinks * obj)
|
||||
{
|
||||
if (event->keyval == GDK_KEY_Delete)
|
||||
{
|
||||
glade_list_eprop_on_remove_clicked (NULL, obj);
|
||||
glade_eporp_links_on_remove_clicked (NULL, obj);
|
||||
return TRUE;
|
||||
}
|
||||
else if ((event->state & GDK_CONTROL_MASK) != 0
|
||||
&& (event->keyval == GDK_KEY_n || event->keyval == GDK_KEY_N))
|
||||
{
|
||||
glade_list_eprop_on_add_clicked (NULL, obj);
|
||||
glade_eporp_links_on_add_clicked (NULL, obj);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void glade_list_eprop_create_input (GladeListEProp * obj, GtkWidget * box,
|
||||
gchar * string)
|
||||
static GtkWidget * glade_eprop_links_create_input (GladeEditorProperty * eprop)
|
||||
{
|
||||
GtkCellRenderer * cell;
|
||||
GtkTreeViewColumn * column;
|
||||
GladeEPropLinks * obj = GLADE_EPROP_LINKS (eprop);
|
||||
GtkWidget * scroll, * button, * label,
|
||||
* hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
|
||||
* hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4),
|
||||
* box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
|
||||
|
||||
label = gtk_label_new (string);
|
||||
label = gtk_label_new (_("<b>Add or remove links</b>"));
|
||||
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
|
||||
gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
|
||||
gtk_misc_set_padding (GTK_MISC (label), 2, 4);
|
||||
|
@ -668,13 +600,15 @@ static void glade_list_eprop_create_input (GladeListEProp * obj, GtkWidget * box
|
|||
button = gtk_button_new ();
|
||||
gtk_button_set_image (GTK_BUTTON (button),
|
||||
gtk_image_new_from_icon_name ("list-add-symbolic", GTK_ICON_SIZE_BUTTON));
|
||||
g_signal_connect (button, "clicked", G_CALLBACK (glade_list_eprop_on_add_clicked), obj);
|
||||
g_signal_connect (button, "clicked",
|
||||
G_CALLBACK (glade_eporp_links_on_add_clicked), obj);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
|
||||
button = gtk_button_new ();
|
||||
gtk_button_set_image (GTK_BUTTON (button),
|
||||
gtk_image_new_from_icon_name ("list-remove-symbolic", GTK_ICON_SIZE_BUTTON));
|
||||
g_signal_connect (button, "clicked", G_CALLBACK (glade_list_eprop_on_remove_clicked), obj);
|
||||
g_signal_connect (button, "clicked",
|
||||
G_CALLBACK (glade_eporp_links_on_remove_clicked), obj);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (box), hbox, FALSE, FALSE, 0);
|
||||
|
@ -683,12 +617,66 @@ static void glade_list_eprop_create_input (GladeListEProp * obj, GtkWidget * box
|
|||
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), GTK_SHADOW_IN);
|
||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll),
|
||||
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
|
||||
g_object_set (G_OBJECT (scroll), "height-request", 50, NULL);
|
||||
gtk_box_pack_start (GTK_BOX (box), scroll, TRUE, TRUE, 0);
|
||||
|
||||
obj->view = GTK_TREE_VIEW (gtk_tree_view_new ());
|
||||
g_signal_connect (obj->view, "key-press-event", G_CALLBACK (glade_list_eprop_on_view_key_press), obj);
|
||||
g_signal_connect (obj->view, "key-press-event",
|
||||
G_CALLBACK (glade_eprop_links_on_view_key_press), obj);
|
||||
gtk_container_add (GTK_CONTAINER (scroll), GTK_WIDGET (obj->view));
|
||||
|
||||
cell = gtk_cell_renderer_text_new ();
|
||||
g_object_set (cell, "editable", TRUE, NULL);
|
||||
column = gtk_tree_view_column_new_with_attributes (_("Column"), cell,
|
||||
"text", FIELD_COL, NULL);
|
||||
gtk_tree_view_column_set_expand (column, TRUE);
|
||||
g_signal_connect (cell, "edited",
|
||||
G_CALLBACK (glade_eporp_links_on_field_col_edited), obj);
|
||||
gtk_tree_view_append_column (obj->view, column);
|
||||
|
||||
cell = gtk_cell_renderer_text_new ();
|
||||
g_object_set (cell, "editable", TRUE, NULL);
|
||||
column = gtk_tree_view_column_new_with_attributes (_("Param"), cell, NULL);
|
||||
gtk_tree_view_column_set_cell_data_func (column, cell, param_col_cell_data, obj, NULL);
|
||||
gtk_tree_view_column_set_expand (column, TRUE);
|
||||
g_signal_connect (cell, "editing-started",
|
||||
G_CALLBACK (glade_eporp_links_on_param_col_editing_started), obj);
|
||||
gtk_tree_view_append_column (obj->view, column);
|
||||
|
||||
cell = gtk_cell_renderer_toggle_new ();
|
||||
column = gtk_tree_view_column_new_with_attributes (C_("Verb", "Link"), cell, NULL);
|
||||
gtk_tree_view_column_set_cell_data_func (column, cell, linked_col_cell_data, obj, NULL);
|
||||
g_signal_connect (cell, "toggled",
|
||||
G_CALLBACK (glade_eprop_links_on_linked_col_toggled), obj);
|
||||
gtk_tree_view_append_column (obj->view, column);
|
||||
|
||||
g_object_set (G_OBJECT (box), "height-request", 200, NULL);
|
||||
gtk_widget_show_all (box);
|
||||
return box;
|
||||
}
|
||||
|
||||
static void glade_eprop_links_finalize (GObject * object)
|
||||
{
|
||||
GladeEPropLinks * obj = GLADE_EPROP_LINKS (object);
|
||||
GObjectClass * parent =
|
||||
g_type_class_peek_parent (GLADE_EPROP_LINKS_GET_CLASS (obj));
|
||||
parent->finalize (G_OBJECT (obj));
|
||||
}
|
||||
|
||||
static void glade_eprop_links_load (GladeEditorProperty * eprop, GladeProperty * property)
|
||||
{
|
||||
GladeVnList * list;
|
||||
GladeEPropLinks * obj = GLADE_EPROP_LINKS (eprop);
|
||||
GladeEditorPropertyClass * parent_class =
|
||||
g_type_class_peek_parent (GLADE_EDITOR_PROPERTY_GET_CLASS (eprop));
|
||||
parent_class->load (eprop, property);
|
||||
|
||||
if (!property)
|
||||
return;
|
||||
|
||||
if ((list = g_value_get_boxed (glade_property_inline_value (property))))
|
||||
gtk_tree_view_set_model (obj->view, GTK_TREE_MODEL (list->list));
|
||||
else
|
||||
gtk_tree_view_set_model (obj->view, NULL);
|
||||
}
|
||||
|
||||
//++++++++++++++++++++++++++++++++++++++++++++++++++ DbModel Widget Adaptor
|
||||
|
@ -707,10 +695,6 @@ GladeEditorProperty * glade_db_model_create_eprop (GladeWidgetAdaptor * adaptor,
|
|||
eprop = g_object_new (GLADE_TYPE_EPROP_LINKS,
|
||||
"property-class", klass,
|
||||
"use-command", use_command, NULL);
|
||||
else if (!g_strcmp0 (prop_id, "batch"))
|
||||
eprop = g_object_new (GLADE_TYPE_EPROP_BATCH,
|
||||
"property-class", klass,
|
||||
"use-command", use_command, NULL);
|
||||
else
|
||||
eprop = GWA_GET_CLASS (G_TYPE_OBJECT)->create_eprop (adaptor,
|
||||
klass, use_command);
|
||||
|
@ -735,7 +719,7 @@ void glade_db_model_write_widget (GladeWidgetAdaptor * adaptor,
|
|||
{
|
||||
GtkTreeIter iter;
|
||||
GtkTreeModel * m;
|
||||
GladeDbList * l;
|
||||
GladeVnList * l;
|
||||
GladeProperty * prop;
|
||||
|
||||
if (!glade_xml_node_verify (node, GLADE_XML_TAG_WIDGET))
|
||||
|
@ -770,9 +754,9 @@ void glade_db_model_write_widget (GladeWidgetAdaptor * adaptor,
|
|||
GladeXmlNode * link_node;
|
||||
|
||||
gtk_tree_model_get (m, &iter
|
||||
,LINKS_FIELD_COL, &field
|
||||
,LINKS_PARAM_COL, ¶m
|
||||
,LINKS_LINKED_COL, &linked
|
||||
,FIELD_COL, &field
|
||||
,PARAM_COL, ¶m
|
||||
,LINKED_COL, &linked
|
||||
, -1);
|
||||
|
||||
link_node = glade_xml_node_new (context, "link");
|
||||
|
@ -793,48 +777,6 @@ void glade_db_model_write_widget (GladeWidgetAdaptor * adaptor,
|
|||
glade_xml_node_append_child (node, links_node);
|
||||
}
|
||||
}
|
||||
|
||||
prop = glade_widget_get_property (widget, "batch");
|
||||
// Custom tag for the "batch" property, e.g.:
|
||||
// <batch>
|
||||
// <holder id="name" param="param1"/>
|
||||
// </batch>
|
||||
if ((l = g_value_get_boxed (glade_property_inline_value (prop))))
|
||||
{
|
||||
m = GTK_TREE_MODEL (l->list);
|
||||
|
||||
if (gtk_tree_model_get_iter_first (m, &iter))
|
||||
{
|
||||
GladeXmlNode * batch_node = glade_xml_node_new (context, "batch");
|
||||
|
||||
do
|
||||
{
|
||||
gchar * id;
|
||||
GladeWidget * param;
|
||||
GladeXmlNode * holder_node;
|
||||
|
||||
gtk_tree_model_get (m, &iter
|
||||
,BATCH_ID_COL, &id
|
||||
,BATCH_PARAM_COL, ¶m
|
||||
, -1);
|
||||
|
||||
holder_node = glade_xml_node_new (context, "holder");
|
||||
glade_xml_node_append_child (batch_node, holder_node);
|
||||
glade_xml_node_set_property_string (holder_node,
|
||||
"id", id ? id : "");
|
||||
glade_xml_node_set_property_string (holder_node, "param",
|
||||
param ? glade_widget_get_name (param) : "");
|
||||
|
||||
g_free (id);
|
||||
}
|
||||
while (gtk_tree_model_iter_next (m, &iter));
|
||||
|
||||
if (!glade_xml_node_get_children (batch_node))
|
||||
glade_xml_node_delete (batch_node);
|
||||
else
|
||||
glade_xml_node_append_child (node, batch_node);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
typedef struct
|
||||
|
@ -848,10 +790,7 @@ ParseData;
|
|||
void glade_db_model_on_parse_finished (GladeProject * p, ParseData * pd)
|
||||
{
|
||||
GladeWidget * param = glade_project_get_widget_by_name (p, pd->param_name);
|
||||
gint col = 1;// XXX LINKS_PARAM_COL and BATCH_PARAM_COL
|
||||
|
||||
gtk_list_store_set (pd->store, pd->iter, col, param, -1);
|
||||
|
||||
gtk_list_store_set (pd->store, pd->iter, PARAM_COL, param, -1);
|
||||
g_object_unref (pd->store);
|
||||
gtk_tree_iter_free (pd->iter);
|
||||
g_free (pd->param_name);
|
||||
|
@ -864,7 +803,7 @@ void glade_db_model_read_widget (GladeWidgetAdaptor * adaptor,
|
|||
GladeXmlNode * prop_node;
|
||||
GladeProperty * prop;
|
||||
GladeProject * proj;
|
||||
GladeDbList * list;
|
||||
GladeVnList * list;
|
||||
GtkListStore * store;
|
||||
|
||||
if (!glade_xml_node_verify (node, GLADE_XML_TAG_WIDGET))
|
||||
|
@ -876,15 +815,15 @@ void glade_db_model_read_widget (GladeWidgetAdaptor * adaptor,
|
|||
{
|
||||
GladeXmlNode * links_node = prop_node;
|
||||
proj = glade_widget_get_project (widget);
|
||||
list = g_new (GladeDbList, 1);
|
||||
store = gtk_list_store_new (LINKS_N_COLS, G_TYPE_STRING, GLADE_TYPE_WIDGET, G_TYPE_BOOLEAN);
|
||||
list = g_new (GladeVnList, 1);
|
||||
store = gtk_list_store_new (N_COLS, G_TYPE_STRING, GLADE_TYPE_WIDGET, G_TYPE_BOOLEAN);
|
||||
list->list = store;
|
||||
|
||||
for (links_node = glade_xml_node_get_children (links_node); links_node;
|
||||
links_node = glade_xml_node_next (links_node))
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
gint col = LINKS_PARAM_COL;
|
||||
gint col = PARAM_COL;
|
||||
gchar * field = glade_xml_get_property_string (links_node, "field"),
|
||||
* param_name = glade_xml_get_property_string (links_node, "param");
|
||||
gboolean linked = glade_xml_get_property_boolean (links_node, "linked", TRUE);
|
||||
|
@ -908,8 +847,8 @@ void glade_db_model_read_widget (GladeWidgetAdaptor * adaptor,
|
|||
}
|
||||
|
||||
gtk_list_store_set (store, &iter
|
||||
,LINKS_FIELD_COL, field
|
||||
,LINKS_LINKED_COL, linked
|
||||
,FIELD_COL, field
|
||||
,LINKED_COL, linked
|
||||
,col, param
|
||||
,-1);
|
||||
|
||||
|
@ -920,51 +859,4 @@ void glade_db_model_read_widget (GladeWidgetAdaptor * adaptor,
|
|||
prop = glade_widget_get_property (widget, "links");
|
||||
glade_property_set (prop, list);
|
||||
}
|
||||
|
||||
if ((prop_node = glade_xml_search_child (node, "batch")))
|
||||
{
|
||||
GladeXmlNode * batch_node = prop_node;
|
||||
proj = glade_widget_get_project (widget);
|
||||
list = g_new (GladeDbList, 1);
|
||||
store = gtk_list_store_new (BATCH_N_COLS, G_TYPE_STRING, GLADE_TYPE_WIDGET);
|
||||
list->list = store;
|
||||
|
||||
for (batch_node = glade_xml_node_get_children (batch_node); batch_node;
|
||||
batch_node = glade_xml_node_next (batch_node))
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
gint col = BATCH_PARAM_COL;
|
||||
gchar * id = glade_xml_get_property_string (batch_node, "id"),
|
||||
* param_name = glade_xml_get_property_string (batch_node, "param");
|
||||
GladeWidget * param = glade_project_get_widget_by_name (proj, param_name);
|
||||
|
||||
gtk_list_store_append (store, &iter);
|
||||
|
||||
if (!param)
|
||||
{
|
||||
// If the parameter hasn't been read yet, load it after the parse
|
||||
ParseData * pd;
|
||||
pd = g_new (ParseData, 1);
|
||||
pd->store = g_object_ref (store);
|
||||
pd->iter = gtk_tree_iter_copy (&iter);
|
||||
pd->param_name = g_strdup (param_name);
|
||||
|
||||
g_signal_connect (proj, "parse-finished",
|
||||
G_CALLBACK (glade_db_model_on_parse_finished), pd);
|
||||
|
||||
col = -1;
|
||||
}
|
||||
|
||||
gtk_list_store_set (store, &iter
|
||||
,BATCH_ID_COL, id
|
||||
,col, param
|
||||
,-1);
|
||||
|
||||
g_free (id);
|
||||
g_free (param_name);
|
||||
}
|
||||
|
||||
prop = glade_widget_get_property (widget, "batch");
|
||||
glade_property_set (prop, list);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,648 @@
|
|||
/*
|
||||
* Copyright (C) 2013 - 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "glade-vn.h"
|
||||
|
||||
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SqlBatchEditor
|
||||
|
||||
#define GLADE_TYPE_BATCH_EDITOR (glade_batch_editor_get_type ())
|
||||
#define GLADE_BATCH_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLADE_TYPE_BATCH_EDITOR, GladeBatchEditor))
|
||||
#define GLADE_BATCH_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLADE_TYPE_BATCH_EDITOR, GladeBatchEditorClass))
|
||||
#define GLADE_IS_BATCH_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLADE_TYPE_BATCH_EDITOR))
|
||||
#define GLADE_IS_BATCH_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_BATCH_EDITOR))
|
||||
#define GLADE_BATCH_EDITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GLADE_TYPE_BATCH_EDITOR, GladeBatchEditorClass))
|
||||
|
||||
typedef struct _GladeBatchEditor GladeBatchEditor;
|
||||
typedef struct _GladeBatchEditorClass GladeBatchEditorClass;
|
||||
|
||||
struct _GladeBatchEditor
|
||||
{
|
||||
GtkBox parent;
|
||||
|
||||
GtkWidget * base;
|
||||
GList * props;
|
||||
};
|
||||
|
||||
struct _GladeBatchEditorClass
|
||||
{
|
||||
GtkVBoxClass parent;
|
||||
};
|
||||
|
||||
GType glade_batch_editor_get_type (void) G_GNUC_CONST;
|
||||
|
||||
static GtkWidget * glade_sql_batch_editor_new (GladeWidgetAdaptor * adaptor,
|
||||
GladeEditable * editable)
|
||||
{
|
||||
GtkWidget * frame, * alignment, * vbox;
|
||||
GladeEditorProperty * eprop;
|
||||
GladeBatchEditor * obj;
|
||||
|
||||
g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
|
||||
g_return_val_if_fail (GLADE_IS_EDITABLE (editable), NULL);
|
||||
|
||||
obj = g_object_new (GLADE_TYPE_BATCH_EDITOR,
|
||||
"orientation", GTK_ORIENTATION_VERTICAL, NULL);
|
||||
obj->base = GTK_WIDGET (editable);
|
||||
gtk_box_pack_start (GTK_BOX (obj), GTK_WIDGET (editable), TRUE, TRUE, 0);
|
||||
|
||||
eprop = glade_widget_adaptor_create_eprop_by_name (adaptor, "items", FALSE, TRUE);
|
||||
obj->props = g_list_prepend (obj->props, eprop);
|
||||
|
||||
frame = gtk_frame_new (NULL);
|
||||
gtk_frame_set_label_widget (GTK_FRAME (frame),
|
||||
glade_editor_property_get_item_label (eprop));
|
||||
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
|
||||
gtk_box_pack_start (GTK_BOX (obj), frame, FALSE, FALSE, 12);
|
||||
|
||||
alignment = gtk_alignment_new (0.5F, 0.5F, 1.0F, 1.0F);
|
||||
gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 6, 0, 12, 0);
|
||||
gtk_container_add (GTK_CONTAINER (frame), alignment);
|
||||
|
||||
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||
gtk_container_add (GTK_CONTAINER (alignment), vbox);
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (eprop), FALSE, FALSE, 4);
|
||||
gtk_widget_set_tooltip_text (vbox, _("List of items"));
|
||||
|
||||
gtk_widget_show_all (GTK_WIDGET (obj));
|
||||
return GTK_WIDGET (obj);
|
||||
}
|
||||
|
||||
static void glade_batch_editor_load (GladeEditable * editable, GladeWidget * widget)
|
||||
{
|
||||
GList *l;
|
||||
GladeBatchEditor * obj = GLADE_BATCH_EDITOR (editable);
|
||||
GladeEditableIface * iface = g_type_default_interface_peek (GLADE_TYPE_EDITABLE);
|
||||
iface->load (editable, widget);
|
||||
|
||||
if (obj->base)
|
||||
glade_editable_load (GLADE_EDITABLE (obj->base), widget);
|
||||
|
||||
for (l = obj->props; l; l = l->next)
|
||||
glade_editor_property_load_by_widget (GLADE_EDITOR_PROPERTY (l->data), widget);
|
||||
}
|
||||
|
||||
static void glade_batch_editor_set_show_name (GladeEditable * editable, gboolean show_name)
|
||||
{
|
||||
GladeBatchEditor * obj = GLADE_BATCH_EDITOR (editable);
|
||||
glade_editable_set_show_name (GLADE_EDITABLE (obj->base), show_name);
|
||||
}
|
||||
|
||||
static void glade_batch_editor_finalize (GObject * object)
|
||||
{
|
||||
GladeBatchEditor * obj = GLADE_BATCH_EDITOR (object);
|
||||
GObjectClass * parent = g_type_class_peek_parent (GLADE_BATCH_EDITOR_GET_CLASS (obj));
|
||||
|
||||
if (obj->props)
|
||||
g_list_free (obj->props);
|
||||
|
||||
obj->props = NULL;
|
||||
obj->base = NULL;
|
||||
|
||||
glade_editable_load (GLADE_EDITABLE (obj), NULL);
|
||||
|
||||
parent->finalize (G_OBJECT (obj));
|
||||
}
|
||||
|
||||
static void glade_batch_editor_class_init (GladeBatchEditorClass * k)
|
||||
{
|
||||
GObjectClass * klass = G_OBJECT_CLASS (k);
|
||||
klass->finalize = glade_batch_editor_finalize;
|
||||
}
|
||||
|
||||
static void glade_batch_editor_init (GladeBatchEditor * obj)
|
||||
{
|
||||
obj->props = NULL;
|
||||
obj->base = NULL;
|
||||
}
|
||||
|
||||
static void glade_batch_editor_editable_init (GladeEditableIface * iface)
|
||||
{
|
||||
iface->load = glade_batch_editor_load;
|
||||
iface->set_show_name = glade_batch_editor_set_show_name;
|
||||
}
|
||||
|
||||
G_DEFINE_TYPE_WITH_CODE (GladeBatchEditor, glade_batch_editor, GTK_TYPE_BOX,
|
||||
G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE, glade_batch_editor_editable_init));
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Items Editor Property
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
GladeEditorProperty parent;
|
||||
|
||||
GtkTreeView * view;
|
||||
gchar * path;
|
||||
}
|
||||
GladeEPropItems;
|
||||
|
||||
GLADE_MAKE_EPROP (GladeEPropItems, glade_eprop_items)
|
||||
#define GLADE_TYPE_EPROP_ITEMS (glade_eprop_items_get_type ())
|
||||
#define GLADE_EPROP_ITEMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLADE_TYPE_EPROP_ITEMS, GladeEPropItems))
|
||||
#define GLADE_EPROP_ITEMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLADE_TYPE_EPROP_ITEMS, GladeEPropItemsClass))
|
||||
#define GLADE_IS_EPROP_ITEMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLADE_TYPE_EPROP_ITEMS))
|
||||
#define GLADE_IS_EPROP_ITEMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_EPROP_ITEMS))
|
||||
#define GLADE_EPROP_ITEMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GLADE_EPROP_ITEMS, GladeEPropItemsClass))
|
||||
|
||||
enum
|
||||
{
|
||||
ID_COL
|
||||
,PARAM_COL
|
||||
,N_COLS
|
||||
};
|
||||
|
||||
static void glade_eprop_items_on_param_col_clicked (GtkEntry * entry,
|
||||
GtkEntryIconPosition icon_pos, GdkEvent * event, GladeEditorProperty * eprop)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||
GladeWidget * widget = glade_property_get_widget (p);
|
||||
GladeProject * project = glade_widget_get_project (widget);
|
||||
GtkListStore * store = ((GladeVnList *) g_value_get_boxed (glade_property_inline_value (p)))->list;
|
||||
gchar * path = GLADE_EPROP_ITEMS (eprop)->path;
|
||||
|
||||
if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
||||
return;
|
||||
|
||||
gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, PARAM_COL, &widget, -1);
|
||||
|
||||
if (glade_editor_property_show_object_dialog (project,
|
||||
_("Select a GvnParam"), NULL, GVN_TYPE_PARAM, NULL, &widget))
|
||||
{
|
||||
if (widget)
|
||||
gtk_list_store_set (store, &iter, PARAM_COL, widget, -1);
|
||||
else
|
||||
gtk_list_store_set (store, &iter, PARAM_COL, NULL, -1);
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean glade_eprop_items_on_param_key_pressed (GtkEntry * entry,
|
||||
GdkEventKey * event, GladeEditorProperty * eprop)
|
||||
{
|
||||
if (event->keyval == GDK_KEY_Return)
|
||||
{
|
||||
glade_eprop_items_on_param_col_clicked (entry, 0, NULL, eprop);
|
||||
return TRUE;
|
||||
}
|
||||
else if (event->keyval == GDK_KEY_Delete)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
gchar * path = GLADE_EPROP_ITEMS (eprop)->path;
|
||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||
GtkListStore * store = ((GladeVnList *) g_value_get_boxed (glade_property_inline_value (p)))->list;
|
||||
|
||||
if (gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
||||
{
|
||||
gtk_list_store_set (store, &iter, PARAM_COL, NULL, -1);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void param_col_cell_data (GtkTreeViewColumn * view, GtkCellRenderer * cell,
|
||||
GtkTreeModel * model, GtkTreeIter * iter, gpointer data)
|
||||
{
|
||||
GladeWidget * param;
|
||||
gtk_tree_model_get (model, iter, PARAM_COL, ¶m, -1);
|
||||
|
||||
if (param)
|
||||
g_object_set (cell, "text", glade_widget_get_name (param), NULL);
|
||||
else
|
||||
g_object_set (cell, "text", "", NULL);
|
||||
}
|
||||
|
||||
static void glade_eporp_items_on_param_col_editing_started (GtkCellRendererText * cell,
|
||||
GtkEntry * entry, gchar * path, GladeEditorProperty * eprop)
|
||||
{
|
||||
GladeEPropItems * obj = GLADE_EPROP_ITEMS (eprop);
|
||||
|
||||
if (GTK_IS_ENTRY (entry))
|
||||
{
|
||||
GList * n;
|
||||
gboolean have_params = FALSE;
|
||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||
GladeProject * project = glade_widget_get_project
|
||||
(glade_property_get_widget (p));
|
||||
GList * objects = (GList *) glade_project_get_objects (project);
|
||||
|
||||
for (n = objects; n; n = n->next)
|
||||
if ((have_params = GVN_IS_PARAM (n->data)))
|
||||
break;
|
||||
|
||||
if (have_params)
|
||||
{
|
||||
g_object_set (entry
|
||||
,"secondary-icon-name", "content-loading-symbolic"
|
||||
,"secondary-icon-sensitive", TRUE
|
||||
,"secondary-icon-tooltip-text", _("Select the parameter from a list")
|
||||
,NULL);
|
||||
|
||||
if (obj->path)
|
||||
g_free (obj->path);
|
||||
|
||||
obj->path = g_strdup (path);
|
||||
|
||||
g_signal_connect (entry, "icon-press",
|
||||
G_CALLBACK (glade_eprop_items_on_param_col_clicked), eprop);
|
||||
g_signal_connect (entry, "key-press-event",
|
||||
G_CALLBACK (glade_eprop_items_on_param_key_pressed), eprop);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_object_set (entry
|
||||
,"secondary-icon-name", "dialog-warning-symbolic"
|
||||
,"secondary-icon-sensitive", FALSE
|
||||
,"secondary-icon-tooltip-text", _("You need to create at least "
|
||||
"one GvnParam or derived object")
|
||||
,NULL);
|
||||
g_signal_handlers_disconnect_by_data (entry, eprop);
|
||||
}
|
||||
|
||||
g_object_set (entry, "editable", FALSE, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
static void glade_eporp_items_on_id_col_edited (GtkCellRendererText * cell,
|
||||
gchar * path, const gchar * text, GladeEditorProperty * eprop)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||
GladeVnList * list = g_value_get_boxed (glade_property_inline_value (p));
|
||||
GtkListStore * store = list->list;
|
||||
|
||||
if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
||||
return;
|
||||
|
||||
gtk_list_store_set (store, &iter, ID_COL, text, -1);
|
||||
}
|
||||
|
||||
static void glade_widget_on_remove_widget (GladeProject * project,
|
||||
GladeWidget * widget, GtkListStore * store)
|
||||
{
|
||||
if (g_type_is_a (G_OBJECT_TYPE (glade_widget_get_object (widget)), GVN_TYPE_PARAM))
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
GtkTreeModel * m = GTK_TREE_MODEL (store);
|
||||
|
||||
if (gtk_tree_model_get_iter_first (m, &iter))
|
||||
do
|
||||
{
|
||||
GladeWidget * param;
|
||||
gtk_tree_model_get (m, &iter, PARAM_COL, ¶m, -1);
|
||||
|
||||
if (param == widget)
|
||||
gtk_list_store_set (store, &iter, PARAM_COL, NULL, -1);
|
||||
}
|
||||
while (gtk_tree_model_iter_next (m, &iter));
|
||||
}
|
||||
}
|
||||
|
||||
static void glade_eporp_items_on_add_clicked (GtkButton * button,
|
||||
GladeEPropItems * obj)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
GtkTreePath * path;
|
||||
GladeVnList * list;
|
||||
GtkListStore * store;
|
||||
GladeProperty * p = glade_editor_property_get_property (GLADE_EDITOR_PROPERTY (obj));
|
||||
|
||||
if (!(list = g_value_get_boxed (glade_property_inline_value (p))))
|
||||
{
|
||||
list = g_new (GladeVnList, 1);
|
||||
list->list = gtk_list_store_new (N_COLS,
|
||||
G_TYPE_STRING, GLADE_TYPE_WIDGET, G_TYPE_BOOLEAN);
|
||||
glade_property_set (p, list);
|
||||
|
||||
g_signal_connect (glade_widget_get_project (glade_property_get_widget (p)),
|
||||
"remove-widget", G_CALLBACK (glade_widget_on_remove_widget), list->list);
|
||||
}
|
||||
|
||||
store = list->list;
|
||||
gtk_tree_view_set_model (obj->view, GTK_TREE_MODEL (store));
|
||||
|
||||
gtk_list_store_append (store, &iter);
|
||||
path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &iter);
|
||||
|
||||
gtk_tree_view_scroll_to_cell (obj->view, path, NULL, FALSE, 0, 0);
|
||||
gtk_tree_view_set_cursor (obj->view, path, NULL, TRUE);
|
||||
gtk_widget_grab_focus (GTK_WIDGET (obj->view));
|
||||
|
||||
gtk_tree_path_free (path);
|
||||
}
|
||||
|
||||
static void glade_eporp_items_on_remove_clicked (GtkButton * button,
|
||||
GladeEPropItems * obj)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
GtkListStore * store;
|
||||
GtkTreeSelection * selection = gtk_tree_view_get_selection (obj->view);
|
||||
GladeProperty * p;
|
||||
|
||||
if (!gtk_tree_selection_get_selected (selection, (GtkTreeModel **) &store, &iter))
|
||||
return;
|
||||
|
||||
p = glade_editor_property_get_property (GLADE_EDITOR_PROPERTY (obj));
|
||||
gtk_list_store_remove (store, &iter);
|
||||
|
||||
if (!gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter))
|
||||
{
|
||||
gtk_tree_view_set_model (obj->view, NULL);
|
||||
glade_command_set_property (p, NULL);
|
||||
|
||||
g_signal_handlers_disconnect_by_func
|
||||
(glade_widget_get_project (glade_property_get_widget (p)),
|
||||
glade_widget_on_remove_widget, store);
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean glade_eprop_items_on_view_key_press (GtkWidget * treeview,
|
||||
GdkEventKey * event, GladeEPropItems * obj)
|
||||
{
|
||||
if (event->keyval == GDK_KEY_Delete)
|
||||
{
|
||||
glade_eporp_items_on_remove_clicked (NULL, obj);
|
||||
return TRUE;
|
||||
}
|
||||
else if ((event->state & GDK_CONTROL_MASK) != 0
|
||||
&& (event->keyval == GDK_KEY_n || event->keyval == GDK_KEY_N))
|
||||
{
|
||||
glade_eporp_items_on_add_clicked (NULL, obj);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static GtkWidget * glade_eprop_items_create_input (GladeEditorProperty * eprop)
|
||||
{
|
||||
GtkCellRenderer * cell;
|
||||
GtkTreeViewColumn * column;
|
||||
GladeEPropItems * obj = GLADE_EPROP_ITEMS (eprop);
|
||||
GtkWidget * scroll, * button, * label,
|
||||
* hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4),
|
||||
* box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
|
||||
|
||||
label = gtk_label_new (_("<b>Add or remove items</b>"));
|
||||
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
|
||||
gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
|
||||
gtk_misc_set_padding (GTK_MISC (label), 2, 4);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
|
||||
|
||||
button = gtk_button_new ();
|
||||
gtk_button_set_image (GTK_BUTTON (button),
|
||||
gtk_image_new_from_icon_name ("list-add-symbolic", GTK_ICON_SIZE_BUTTON));
|
||||
g_signal_connect (button, "clicked",
|
||||
G_CALLBACK (glade_eporp_items_on_add_clicked), obj);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
|
||||
button = gtk_button_new ();
|
||||
gtk_button_set_image (GTK_BUTTON (button),
|
||||
gtk_image_new_from_icon_name ("list-remove-symbolic", GTK_ICON_SIZE_BUTTON));
|
||||
g_signal_connect (button, "clicked",
|
||||
G_CALLBACK (glade_eporp_items_on_remove_clicked), obj);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (box), hbox, FALSE, FALSE, 0);
|
||||
|
||||
scroll = gtk_scrolled_window_new (NULL, NULL);
|
||||
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), GTK_SHADOW_IN);
|
||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll),
|
||||
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
|
||||
gtk_box_pack_start (GTK_BOX (box), scroll, TRUE, TRUE, 0);
|
||||
|
||||
obj->view = GTK_TREE_VIEW (gtk_tree_view_new ());
|
||||
g_signal_connect (obj->view, "key-press-event",
|
||||
G_CALLBACK (glade_eprop_items_on_view_key_press), obj);
|
||||
gtk_container_add (GTK_CONTAINER (scroll), GTK_WIDGET (obj->view));
|
||||
|
||||
cell = gtk_cell_renderer_text_new ();
|
||||
g_object_set (cell, "editable", TRUE, NULL);
|
||||
column = gtk_tree_view_column_new_with_attributes (_("Identifier"), cell,
|
||||
"text", ID_COL, NULL);
|
||||
gtk_tree_view_column_set_expand (column, TRUE);
|
||||
g_signal_connect (cell, "edited",
|
||||
G_CALLBACK (glade_eporp_items_on_id_col_edited), obj);
|
||||
gtk_tree_view_append_column (obj->view, column);
|
||||
|
||||
cell = gtk_cell_renderer_text_new ();
|
||||
g_object_set (cell, "editable", TRUE, NULL);
|
||||
column = gtk_tree_view_column_new_with_attributes (_("Parameter"), cell, NULL);
|
||||
gtk_tree_view_column_set_cell_data_func (column, cell, param_col_cell_data, obj, NULL);
|
||||
gtk_tree_view_column_set_expand (column, TRUE);
|
||||
g_signal_connect (cell, "editing-started",
|
||||
G_CALLBACK (glade_eporp_items_on_param_col_editing_started), obj);
|
||||
gtk_tree_view_append_column (obj->view, column);
|
||||
|
||||
g_object_set (G_OBJECT (box), "height-request", 200, NULL);
|
||||
gtk_widget_show_all (box);
|
||||
return box;
|
||||
}
|
||||
|
||||
static void glade_eprop_items_finalize (GObject * object)
|
||||
{
|
||||
GladeEPropItems * obj = GLADE_EPROP_ITEMS (object);
|
||||
GObjectClass * parent =
|
||||
g_type_class_peek_parent (GLADE_EPROP_ITEMS_GET_CLASS (obj));
|
||||
parent->finalize (G_OBJECT (obj));
|
||||
}
|
||||
|
||||
static void glade_eprop_items_load (GladeEditorProperty * eprop, GladeProperty * property)
|
||||
{
|
||||
GladeVnList * list;
|
||||
GladeEPropItems * obj = GLADE_EPROP_ITEMS (eprop);
|
||||
GladeEditorPropertyClass * parent_class =
|
||||
g_type_class_peek_parent (GLADE_EDITOR_PROPERTY_GET_CLASS (eprop));
|
||||
parent_class->load (eprop, property);
|
||||
|
||||
if (!property)
|
||||
return;
|
||||
|
||||
if ((list = g_value_get_boxed (glade_property_inline_value (property))))
|
||||
gtk_tree_view_set_model (obj->view, GTK_TREE_MODEL (list->list));
|
||||
else
|
||||
gtk_tree_view_set_model (obj->view, NULL);
|
||||
}
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++ SqlBatch Widget Adaptor
|
||||
|
||||
GladeEditorProperty * glade_sql_batch_create_eprop (GladeWidgetAdaptor * adaptor,
|
||||
GladePropertyClass * klass, gboolean use_command)
|
||||
{
|
||||
GladeEditorProperty * eprop;
|
||||
const gchar * prop_id = glade_property_class_id (klass);
|
||||
|
||||
if (!g_strcmp0 (prop_id, "items"))
|
||||
eprop = g_object_new (GLADE_TYPE_EPROP_ITEMS,
|
||||
"property-class", klass,
|
||||
"use-command", use_command, NULL);
|
||||
else
|
||||
eprop = GWA_GET_CLASS (G_TYPE_OBJECT)->create_eprop (adaptor,
|
||||
klass, use_command);
|
||||
|
||||
return eprop;
|
||||
}
|
||||
|
||||
GladeEditable * glade_sql_batch_create_editable (GladeWidgetAdaptor * adaptor,
|
||||
GladeEditorPageType type)
|
||||
{
|
||||
GladeEditable * editable =
|
||||
GWA_GET_CLASS (G_TYPE_OBJECT)->create_editable (adaptor, type);
|
||||
|
||||
if (type == GLADE_PAGE_GENERAL)
|
||||
return GLADE_EDITABLE (glade_sql_batch_editor_new (adaptor, editable));
|
||||
|
||||
return editable;
|
||||
}
|
||||
|
||||
void glade_sql_batch_write_widget (GladeWidgetAdaptor * adaptor,
|
||||
GladeWidget * widget, GladeXmlContext * context, GladeXmlNode * node)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
GladeVnList * l;
|
||||
GtkTreeModel * m;
|
||||
GladeXmlNode * items_node;
|
||||
GladeProperty * prop;
|
||||
|
||||
if (!glade_xml_node_verify (node, GLADE_XML_TAG_WIDGET))
|
||||
return;
|
||||
|
||||
GWA_GET_CLASS (G_TYPE_OBJECT)->write_widget (adaptor, widget, context, node);
|
||||
|
||||
prop = glade_widget_get_property (widget, "items");
|
||||
// Custom tag for the "items" property, e.g.:
|
||||
// <items>
|
||||
// <item id="id" param="param1"/>
|
||||
// </items>
|
||||
if (!(l = g_value_get_boxed (glade_property_inline_value (prop))))
|
||||
return;
|
||||
|
||||
m = GTK_TREE_MODEL (l->list);
|
||||
|
||||
if (!gtk_tree_model_get_iter_first (m, &iter))
|
||||
return;
|
||||
|
||||
items_node = glade_xml_node_new (context, "items");
|
||||
|
||||
do
|
||||
{
|
||||
gchar * id;
|
||||
GladeWidget * param;
|
||||
GladeXmlNode * item_node;
|
||||
|
||||
gtk_tree_model_get (m, &iter
|
||||
,ID_COL, &id
|
||||
,PARAM_COL, ¶m
|
||||
, -1);
|
||||
|
||||
item_node = glade_xml_node_new (context, "item");
|
||||
glade_xml_node_append_child (items_node, item_node);
|
||||
glade_xml_node_set_property_string (item_node, "id", id ? id : "");
|
||||
glade_xml_node_set_property_string (item_node, "param",
|
||||
param ? glade_widget_get_name (param) : "");
|
||||
|
||||
g_free (id);
|
||||
}
|
||||
while (gtk_tree_model_iter_next (m, &iter));
|
||||
|
||||
if (!glade_xml_node_get_children (items_node))
|
||||
glade_xml_node_delete (items_node);
|
||||
else
|
||||
glade_xml_node_append_child (node, items_node);
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
GtkListStore * store;
|
||||
GtkTreeIter * iter;
|
||||
gchar * param_name;
|
||||
}
|
||||
ParseData;
|
||||
|
||||
void glade_sql_batch_on_parse_finished (GladeProject * p, ParseData * pd)
|
||||
{
|
||||
GladeWidget * param = glade_project_get_widget_by_name (p, pd->param_name);
|
||||
|
||||
gtk_list_store_set (pd->store, pd->iter, PARAM_COL, param, -1);
|
||||
|
||||
g_object_unref (pd->store);
|
||||
gtk_tree_iter_free (pd->iter);
|
||||
g_free (pd->param_name);
|
||||
g_free (pd);
|
||||
}
|
||||
|
||||
void glade_sql_batch_read_widget (GladeWidgetAdaptor * adaptor,
|
||||
GladeWidget * widget, GladeXmlNode * node)
|
||||
{
|
||||
GladeXmlNode * items_node;
|
||||
GladeProperty * prop;
|
||||
GladeProject * proj;
|
||||
GladeVnList * list;
|
||||
GtkListStore * store;
|
||||
|
||||
if (!glade_xml_node_verify (node, GLADE_XML_TAG_WIDGET))
|
||||
return;
|
||||
|
||||
GWA_GET_CLASS (G_TYPE_OBJECT)->read_widget (adaptor, widget, node);
|
||||
|
||||
if ((items_node = glade_xml_search_child (node, "items")) == NULL)
|
||||
return;
|
||||
|
||||
proj = glade_widget_get_project (widget);
|
||||
list = g_new (GladeVnList, 1);
|
||||
store = gtk_list_store_new (N_COLS, G_TYPE_STRING, GLADE_TYPE_WIDGET);
|
||||
list->list = store;
|
||||
|
||||
for (items_node = glade_xml_node_get_children (items_node); items_node;
|
||||
items_node = glade_xml_node_next (items_node))
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
gint col = PARAM_COL;
|
||||
gchar * id = glade_xml_get_property_string (items_node, "id"),
|
||||
* param_name = glade_xml_get_property_string (items_node, "param");
|
||||
GladeWidget * param = glade_project_get_widget_by_name (proj, param_name);
|
||||
|
||||
gtk_list_store_append (store, &iter);
|
||||
|
||||
if (!param)
|
||||
{
|
||||
// If the parameter hasn't been read yet, load it after the parse
|
||||
ParseData * pd;
|
||||
pd = g_new (ParseData, 1);
|
||||
pd->store = g_object_ref (store);
|
||||
pd->iter = gtk_tree_iter_copy (&iter);
|
||||
pd->param_name = g_strdup (param_name);
|
||||
|
||||
g_signal_connect (proj, "parse-finished",
|
||||
G_CALLBACK (glade_sql_batch_on_parse_finished), pd);
|
||||
|
||||
col = -1;
|
||||
}
|
||||
|
||||
gtk_list_store_set (store, &iter
|
||||
,ID_COL, id
|
||||
,col, param
|
||||
,-1);
|
||||
|
||||
g_free (id);
|
||||
g_free (param_name);
|
||||
}
|
||||
|
||||
prop = glade_widget_get_property (widget, "items");
|
||||
glade_property_set (prop, list);
|
||||
}
|
|
@ -1,69 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2013 - 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "glade-vn.h"
|
||||
|
||||
void glade_vn_set_add_child (GladeWidgetAdaptor * adaptor,
|
||||
VnSet * group, GObject * child)
|
||||
{
|
||||
if (G_IS_OBJECT (child))
|
||||
vn_set_add (group, child);
|
||||
}
|
||||
|
||||
void glade_vn_set_remove_child (GladeWidgetAdaptor * adaptor,
|
||||
VnSet * group, GObject * child)
|
||||
{
|
||||
if (G_IS_OBJECT (child))
|
||||
vn_set_remove (group, child);
|
||||
}
|
||||
|
||||
void glade_vn_set_replace_child (GladeWidgetAdaptor * adaptor,
|
||||
GObject * container, GObject * current, GObject * new)
|
||||
{
|
||||
VnSet * group = VN_SET (container);
|
||||
glade_vn_set_remove_child (adaptor, group, current);
|
||||
glade_vn_set_add_child (adaptor, group, new);
|
||||
}
|
||||
|
||||
GList * glade_vn_set_get_children (GladeWidgetAdaptor * adaptor,
|
||||
VnSet * group)
|
||||
{
|
||||
return vn_set_get_objects_list (group);
|
||||
}
|
||||
|
||||
gboolean glade_vn_set_add_verify (GladeWidgetAdaptor * adaptor,
|
||||
VnSet * container, GObject * child, gboolean user_feedback)
|
||||
{
|
||||
if (G_IS_OBJECT (child))
|
||||
return TRUE;
|
||||
|
||||
if (user_feedback)
|
||||
{
|
||||
GladeWidgetAdaptor * object_adaptor =
|
||||
glade_widget_adaptor_get_by_type (G_TYPE_OBJECT);
|
||||
|
||||
glade_util_ui_message (glade_app_get_window ()
|
||||
,GLADE_UI_INFO
|
||||
,NULL
|
||||
,"Only objects of type %s can be added to objects of type %s."
|
||||
,glade_widget_adaptor_get_name (object_adaptor)
|
||||
,glade_widget_adaptor_get_name (adaptor)
|
||||
);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
|
@ -17,18 +17,6 @@
|
|||
|
||||
#include "glade-vn.h"
|
||||
|
||||
GObject * glade_vn_field_get_internal_child (GladeWidgetAdaptor * adaptor,
|
||||
GObject * parent, const gchar * name)
|
||||
{
|
||||
return G_OBJECT (vn_field_get_widget (VN_FIELD (parent)));
|
||||
}
|
||||
|
||||
GObject * glade_vn_column_get_internal_child (GladeWidgetAdaptor * adaptor,
|
||||
GObject * parent, const gchar * name)
|
||||
{
|
||||
return G_OBJECT (vn_column_get_cell_renderer (VN_COLUMN (parent)));
|
||||
}
|
||||
|
||||
gboolean glade_vn_set_first_catalog (gpointer catalog_name)
|
||||
{
|
||||
GList * l, * catalogs = glade_app_get_catalogs (),
|
||||
|
@ -70,3 +58,40 @@ void glade_vn_init ()
|
|||
|
||||
g_idle_add (glade_vn_set_first_catalog, "vn");
|
||||
}
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ GladeDbList
|
||||
|
||||
G_DEFINE_BOXED_TYPE (GladeVnList, glade_vn_list, glade_vn_list_copy, glade_vn_list_free);
|
||||
|
||||
void glade_vn_list_free (GladeVnList * list)
|
||||
{
|
||||
if (!list)
|
||||
return;
|
||||
|
||||
if (list->list)
|
||||
g_object_unref (list->list);
|
||||
|
||||
g_free (list);
|
||||
list = NULL;
|
||||
}
|
||||
|
||||
GladeVnList * glade_vn_list_copy (const GladeVnList * list)
|
||||
{
|
||||
GladeVnList * l = g_new (GladeVnList, 1);
|
||||
l->list = list->list ? g_object_ref (list->list) : NULL;
|
||||
return l;
|
||||
}
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++ Internal children
|
||||
|
||||
GObject * glade_vn_field_get_internal_child (GladeWidgetAdaptor * adaptor,
|
||||
GObject * parent, const gchar * name)
|
||||
{
|
||||
return G_OBJECT (vn_field_get_widget (VN_FIELD (parent)));
|
||||
}
|
||||
|
||||
GObject * glade_vn_column_get_internal_child (GladeWidgetAdaptor * adaptor,
|
||||
GObject * parent, const gchar * name)
|
||||
{
|
||||
return G_OBJECT (vn_column_get_cell_renderer (VN_COLUMN (parent)));
|
||||
}
|
||||
|
|
|
@ -23,4 +23,17 @@
|
|||
|
||||
void glade_vn_init ();
|
||||
|
||||
#define GLADE_TYPE_VN_LIST (glade_vn_list_get_type())
|
||||
|
||||
typedef struct _GladeVnList GladeVnList;
|
||||
|
||||
struct _GladeVnList
|
||||
{
|
||||
GtkListStore * list;
|
||||
};
|
||||
|
||||
GType glade_vn_list_get_type (void) G_GNUC_CONST;
|
||||
void glade_vn_list_free (GladeVnList * list);
|
||||
GladeVnList * glade_vn_list_copy (const GladeVnList * list);
|
||||
|
||||
#endif
|
24
glade/vn.xml
24
glade/vn.xml
|
@ -5,11 +5,19 @@
|
|||
<init-function>glade_vn_init</init-function>
|
||||
|
||||
<glade-widget-classes>
|
||||
<glade-widget-class name="GvnParam" generic-name="param" title="Parameter" icon-name="widget-gtk-action">
|
||||
<glade-widget-class name="VnBatch" generic-name="batch" title="Batch" icon-name="widget-gtk-listbox">
|
||||
<properties>
|
||||
<property id="null" ignore="True"/>
|
||||
<property id="editable" ignore="True"/>
|
||||
<property id="items" save="False" ignore="True" disabled="True" name="Items">
|
||||
<parameter-spec>
|
||||
<type>GParamBoxed</type>
|
||||
<value-type>GladeVnList</value-type>
|
||||
</parameter-spec>
|
||||
</property>
|
||||
</properties>
|
||||
<create-editor-property-function>glade_sql_batch_create_eprop</create-editor-property-function>
|
||||
<create-editable-function>glade_sql_batch_create_editable</create-editable-function>
|
||||
<write-widget-function>glade_sql_batch_write_widget</write-widget-function>
|
||||
<read-widget-function>glade_sql_batch_read_widget</read-widget-function>
|
||||
</glade-widget-class>
|
||||
|
||||
<glade-widget-class name="DbCalc" generic-name="calc" title="Calculated field" icon-name="widget-gtk-entry">
|
||||
|
@ -29,13 +37,7 @@
|
|||
<property id="links" save="False" ignore="True" disabled="True" name="Links">
|
||||
<parameter-spec>
|
||||
<type>GParamBoxed</type>
|
||||
<value-type>GladeDbList</value-type>
|
||||
</parameter-spec>
|
||||
</property>
|
||||
<property id="batch" save="False" ignore="True" disabled="True" name="Batch">
|
||||
<parameter-spec>
|
||||
<type>GParamBoxed</type>
|
||||
<value-type>GladeDbList</value-type>
|
||||
<value-type>GladeVnList</value-type>
|
||||
</parameter-spec>
|
||||
</property>
|
||||
</properties>
|
||||
|
@ -203,7 +205,7 @@
|
|||
</glade-widget-classes>
|
||||
|
||||
<glade-widget-group name="db-toplevels" title="Data Handling">
|
||||
<glade-widget-class-ref name="GvnParam"/>
|
||||
<glade-widget-class-ref name="VnBatch"/>
|
||||
<glade-widget-class-ref name="VnModel"/>
|
||||
<glade-widget-class-ref name="VnIterator"/>
|
||||
<glade-widget-class-ref name="DbParam"/>
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
<interface>
|
||||
<requires lib="gtk+" version="3.0"/>
|
||||
<menu id='menu'>
|
||||
<menu id="menu">
|
||||
<item>
|
||||
<attribute name='label' translatable='yes'>Send</attribute>
|
||||
<attribute name='action'>win.send</attribute>
|
||||
<attribute name='accel'><Shift>s</attribute>
|
||||
<attribute name="label" translatable="yes">Send</attribute>
|
||||
<attribute name="action">win.send</attribute>
|
||||
<attribute name="accel"><Shift>s</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name='label' translatable='yes'>Clean</attribute>
|
||||
<attribute name='action'>win.clean</attribute>
|
||||
<attribute name='accel'><Shift>c</attribute>
|
||||
<attribute name="label" translatable="yes">Clean</attribute>
|
||||
<attribute name="action">win.clean</attribute>
|
||||
<attribute name="accel"><Shift>c</attribute>
|
||||
</item>
|
||||
</menu>
|
||||
</interface>
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<interface>
|
||||
<requires lib="gtk+" version="3.0"/>
|
||||
<menu id='menu'>
|
||||
<menu id="menu">
|
||||
<section>
|
||||
<item>
|
||||
<attribute name='label' translatable='yes'>Consulter</attribute>
|
||||
<attribute name='action'>win.open-form</attribute>
|
||||
<attribute name='target'>consulter</attribute>
|
||||
<attribute name='accel'>F12</attribute>
|
||||
<attribute name="label" translatable="yes">Consulter</attribute>
|
||||
<attribute name="action">win.open-form</attribute>
|
||||
<attribute name="target">consulter</attribute>
|
||||
<attribute name="accel">F12</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name='label' translatable='yes'>Customer</attribute>
|
||||
<attribute name='action'>win.open-form</attribute>
|
||||
<attribute name='target'>customer</attribute>
|
||||
<attribute name='accel'>F11</attribute>
|
||||
<attribute name="label" translatable="yes">Customer</attribute>
|
||||
<attribute name="action">win.open-form</attribute>
|
||||
<attribute name="target">customer</attribute>
|
||||
<attribute name="accel">F11</attribute>
|
||||
</item>
|
||||
</section>
|
||||
</menu>
|
||||
|
|
|
@ -51,13 +51,14 @@ vn/column/vn-column-image.c
|
|||
|
||||
vn/gui/login.glade
|
||||
vn/gui/main.glade
|
||||
vn/gui/menu.glade
|
||||
vn/gui/date-chooser.glade
|
||||
vn/gui/menu.glade
|
||||
|
||||
glade/glade-db-model.c
|
||||
glade/glade-db-model-editor.c
|
||||
glade/glade-eprop-model.c
|
||||
glade/glade-db-iterator.c
|
||||
glade/glade-sql-batch.c
|
||||
[type: gettext/glade]glade/vn.xml
|
||||
|
||||
[type: gettext/glade]module/data/example.xml
|
||||
|
|
413
po/ca.po
413
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-07-07 15:57+0200\n"
|
||||
"POT-Creation-Date: 2014-07-15 14:27+0200\n"
|
||||
"PO-Revision-Date: 2013-06-04 13:38+0200\n"
|
||||
"Last-Translator: Alejandro T. Colombini Gómez <atcolombini@verdnatura.es>\n"
|
||||
"Language-Team: Catalan\n"
|
||||
|
@ -31,7 +31,7 @@ msgstr "El parametre no pot ser nul"
|
|||
msgid "Incompatible type for this param"
|
||||
msgstr "Tipus incompatible per a aquest parametre"
|
||||
|
||||
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:252 ../vn/vn-field.c:573
|
||||
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:255 ../vn/vn-field.c:576
|
||||
msgid "Value"
|
||||
msgstr ""
|
||||
|
||||
|
@ -47,7 +47,7 @@ msgstr ""
|
|||
msgid "The master GvnParam of this parameter"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:457 ../db/db-iterator.c:1055
|
||||
#: ../gvn/gvn-param.c:457 ../db/db-iterator.c:1062
|
||||
msgid "Mode"
|
||||
msgstr ""
|
||||
|
||||
|
@ -71,15 +71,15 @@ msgstr ""
|
|||
msgid "The spec of the parameter"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:601
|
||||
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:604
|
||||
msgid "Glib Type"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:602
|
||||
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:605
|
||||
msgid "The type of the value"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:608 ../vn/vn-column.c:504
|
||||
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:611 ../vn/vn-column.c:507
|
||||
msgid "Editable"
|
||||
msgstr ""
|
||||
|
||||
|
@ -87,7 +87,7 @@ msgstr ""
|
|||
msgid "Whether the param value can be modified"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:615 ../vn/vn-column.c:511
|
||||
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:618 ../vn/vn-column.c:514
|
||||
msgid "Null"
|
||||
msgstr ""
|
||||
|
||||
|
@ -95,11 +95,11 @@ msgstr ""
|
|||
msgid "Whether the param value can be of type GVN_TYPE_NULL"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:622
|
||||
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:625
|
||||
msgid "Default Value"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:623
|
||||
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:626
|
||||
msgid "The default value"
|
||||
msgstr ""
|
||||
|
||||
|
@ -124,19 +124,19 @@ msgstr ""
|
|||
msgid "The character used for delimite the name of fields, tables..."
|
||||
msgstr ""
|
||||
|
||||
#: ../sql/sql-value.c:245 ../glade/glade-db-model.c:530
|
||||
#: ../sql/sql-value.c:248 ../glade/glade-db-model.c:638
|
||||
msgid "Param"
|
||||
msgstr ""
|
||||
|
||||
#: ../sql/sql-value.c:246
|
||||
#: ../sql/sql-value.c:249
|
||||
msgid "The param which is linked"
|
||||
msgstr ""
|
||||
|
||||
#: ../sql/sql-value.c:253
|
||||
#: ../sql/sql-value.c:256
|
||||
msgid "The value"
|
||||
msgstr ""
|
||||
|
||||
#: ../sql/sql-string.c:188 ../db/db-model.c:3311 ../db/db-request.c:449
|
||||
#: ../sql/sql-string.c:188 ../db/db-model.c:3315 ../db/db-request.c:449
|
||||
msgid "SQL"
|
||||
msgstr ""
|
||||
|
||||
|
@ -212,7 +212,7 @@ msgstr ""
|
|||
msgid "The function parameters"
|
||||
msgstr ""
|
||||
|
||||
#: ../sql/sql-holder.c:124 ../glade/glade-db-model.c:369
|
||||
#: ../sql/sql-holder.c:124 ../glade/glade-sql-batch.c:436
|
||||
msgid "Identifier"
|
||||
msgstr ""
|
||||
|
||||
|
@ -329,97 +329,97 @@ msgstr ""
|
|||
msgid "Can't allocate the needed memory"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-iterator.c:1056
|
||||
#: ../db/db-iterator.c:1063
|
||||
msgid "The mode in which the iterator is working"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-iterator.c:1063
|
||||
#: ../db/db-iterator.c:1070
|
||||
#, fuzzy
|
||||
msgid "Remember selection"
|
||||
msgstr "Recordar"
|
||||
|
||||
#: ../db/db-iterator.c:1064
|
||||
#: ../db/db-iterator.c:1071
|
||||
msgid "Wether to rememeber the selection when model is refreshed"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3285 ../db/db-request.c:442 ../vn/vn-gui.c:1560
|
||||
#: ../db/db-model.c:3289 ../db/db-request.c:442 ../vn/vn-gui.c:1472
|
||||
#: ../vn/vn-form.c:245
|
||||
msgid "Connection"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3286
|
||||
#: ../db/db-model.c:3290
|
||||
msgid "The DbConn that manages the connection to the database"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3293
|
||||
#: ../db/db-model.c:3297
|
||||
msgid "Statement"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3294
|
||||
#: ../db/db-model.c:3298
|
||||
msgid "The statement which retrieves the data"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3301
|
||||
#: ../db/db-model.c:3305
|
||||
msgid "Use file"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3302
|
||||
#: ../db/db-model.c:3306
|
||||
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:3312
|
||||
#: ../db/db-model.c:3316
|
||||
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:3321
|
||||
#: ../db/db-model.c:3325
|
||||
msgid "Main Table"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3322
|
||||
#: ../db/db-model.c:3326
|
||||
msgid "The main table of the model"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3329
|
||||
#: ../db/db-model.c:3333
|
||||
msgid "Update flags"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3330
|
||||
#: ../db/db-model.c:3334
|
||||
msgid "The flags that indicate how a model can be modified"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3338
|
||||
#: ../db/db-model.c:3342
|
||||
msgid "Result position"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3339
|
||||
#: ../db/db-model.c:3343
|
||||
msgid ""
|
||||
"The position where the query that will fill the model will be placed in a "
|
||||
"multi-query"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3349
|
||||
#: ../db/db-model.c:3353
|
||||
msgid "Partial delete"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3350
|
||||
#: ../db/db-model.c:3354
|
||||
msgid ""
|
||||
"When a row is deleted set all the fields from the table to null rather than "
|
||||
"delete it."
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3358
|
||||
#: ../db/db-model.c:3362
|
||||
msgid "Batch"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3359
|
||||
#: ../db/db-model.c:3363
|
||||
msgid "The batch assigned to the model"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model-holder.c:71 ../db/db-calc.c:329
|
||||
#: ../db/db-model-holder.c:71 ../db/db-calc.c:405
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
|
||||
|
@ -427,43 +427,52 @@ msgstr ""
|
|||
msgid "The model used by the holder"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:330
|
||||
#: ../db/db-calc.c:406
|
||||
msgid "The model where the operations will be applied"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:337
|
||||
#: ../db/db-calc.c:413
|
||||
msgid "Operation type"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:338
|
||||
#: ../db/db-calc.c:414
|
||||
msgid "The type of the operation applied over the function"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:346
|
||||
#: ../db/db-calc.c:422
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:347
|
||||
#: ../db/db-calc.c:423
|
||||
msgid "The function to execute"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:353
|
||||
#: ../db/db-calc.c:429
|
||||
msgid "Data"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:354
|
||||
#: ../db/db-calc.c:430
|
||||
msgid "The user provided data for the function"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:360 ../glade/glade-db-model.c:293
|
||||
msgid "Column"
|
||||
#: ../db/db-calc.c:436 ../db/db-param.c:258 ../vn/vn-column.c:493
|
||||
msgid "Column index"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:361
|
||||
#: ../db/db-calc.c:437
|
||||
msgid "A column to apply the operations over it"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-param.c:251 ../vn/vn-grid.c:518 ../vn/vn-field.c:587
|
||||
#: ../db/db-calc.c:446 ../db/db-param.c:265 ../vn/vn-field.c:597
|
||||
#: ../vn/vn-column.c:500
|
||||
msgid "Column name"
|
||||
msgstr "Nom de la columna"
|
||||
|
||||
#: ../db/db-calc.c:447
|
||||
msgid "A column name to apply the operations over it"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-param.c:251 ../vn/vn-grid.c:421 ../vn/vn-field.c:590
|
||||
msgid "Iterator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -471,19 +480,11 @@ msgstr ""
|
|||
msgid "The iterator owner of param"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-param.c:258 ../vn/vn-column.c:490
|
||||
msgid "Column index"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-param.c:259
|
||||
msgid "The referenced column index"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-param.c:265 ../vn/vn-field.c:594 ../vn/vn-column.c:497
|
||||
msgid "Column name"
|
||||
msgstr "Nom de la columna"
|
||||
|
||||
#: ../db/db-param.c:266 ../vn/vn-column.c:498
|
||||
#: ../db/db-param.c:266 ../vn/vn-column.c:501
|
||||
msgid "The referenced column name"
|
||||
msgstr "Nom de la columna referenciada"
|
||||
|
||||
|
@ -524,7 +525,7 @@ msgid "The path where query files are located"
|
|||
msgstr ""
|
||||
|
||||
#: ../db/db-conn.c:1062 ../db/db-file-loader.c:716
|
||||
#: ../vn/column/vn-column-image.c:493
|
||||
#: ../vn/column/vn-column-image.c:498
|
||||
msgid "Host"
|
||||
msgstr ""
|
||||
|
||||
|
@ -587,11 +588,11 @@ msgstr ""
|
|||
msgid "Unknown content length of file %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-file-loader.c:717 ../vn/column/vn-column-image.c:494
|
||||
#: ../db/db-file-loader.c:717 ../vn/column/vn-column-image.c:499
|
||||
msgid "The host web server name to get the images"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-file-loader.c:724 ../vn/column/vn-column-image.c:501
|
||||
#: ../db/db-file-loader.c:724 ../vn/column/vn-column-image.c:506
|
||||
msgid "Path"
|
||||
msgstr ""
|
||||
|
||||
|
@ -617,63 +618,63 @@ msgstr ""
|
|||
msgid "The maximal size for the contents of the cache directory"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:632
|
||||
#: ../vn/vn-gui.c:545
|
||||
msgid "Connection has been lost. Do you want to reconnect?"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:639
|
||||
#: ../vn/vn-gui.c:552
|
||||
msgid "An error occurred in the connection."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:642
|
||||
#: ../vn/vn-gui.c:555
|
||||
msgid "Database error"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:649
|
||||
#: ../vn/vn-gui.c:562
|
||||
msgid "Unknown error"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:998
|
||||
#: ../vn/vn-gui.c:910
|
||||
msgid "Closing connection"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1000
|
||||
#: ../vn/vn-gui.c:912
|
||||
msgid "Transaction started"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1002
|
||||
#: ../vn/vn-gui.c:914
|
||||
msgid "Connecting"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1004
|
||||
#: ../vn/vn-gui.c:916
|
||||
msgid "Connection lost"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1006
|
||||
#: ../vn/vn-gui.c:918
|
||||
msgid "Connection closed"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1008 ../vn/field/vn-http-image.c:119
|
||||
#: ../vn/vn-gui.c:920 ../vn/field/vn-http-image.c:119
|
||||
msgid "Loading"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1010
|
||||
#: ../vn/vn-gui.c:922
|
||||
msgid "Ready"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1561
|
||||
#: ../vn/vn-gui.c:1473
|
||||
msgid "The connection used by Gui"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1567
|
||||
#: ../vn/vn-gui.c:1479
|
||||
msgid "Application"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1568
|
||||
#: ../vn/vn-gui.c:1480
|
||||
msgid "The application handler for the entire program"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-grid.c:519
|
||||
#: ../vn/vn-grid.c:422
|
||||
msgid "The iterator used by VnGrid"
|
||||
msgstr ""
|
||||
|
||||
|
@ -725,19 +726,19 @@ msgstr ""
|
|||
msgid "Move to the last row"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-handler.c:529
|
||||
#: ../vn/vn-handler.c:531
|
||||
msgid "Show flags"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-handler.c:530
|
||||
#: ../vn/vn-handler.c:532
|
||||
msgid "Sets the buttons that will be shown on the interface"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-handler.c:537
|
||||
#: ../vn/vn-handler.c:539
|
||||
msgid "Simple record"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-handler.c:538
|
||||
#: ../vn/vn-handler.c:540
|
||||
msgid "Sets if it is used to handle a iterator with a single record"
|
||||
msgstr ""
|
||||
|
||||
|
@ -782,75 +783,75 @@ msgstr ""
|
|||
msgid "The application identifier"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:574
|
||||
#: ../vn/vn-field.c:577
|
||||
msgid "The current value of the field"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:580 ../glade/glade-db-iterator.c:71
|
||||
#: ../glade/glade-db-iterator.c:116
|
||||
#: ../vn/vn-field.c:583 ../glade/glade-db-iterator.c:71
|
||||
#: ../glade/glade-db-iterator.c:116 ../glade/glade-sql-batch.c:445
|
||||
msgid "Parameter"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:581
|
||||
#: ../vn/vn-field.c:584
|
||||
msgid "The param where the field can read/write its value"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:588
|
||||
#: ../vn/vn-field.c:591
|
||||
msgid "The iterator used to get the field param"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:595
|
||||
#: ../vn/vn-field.c:598
|
||||
msgid "The column name on the iterator"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:609
|
||||
#: ../vn/vn-field.c:612
|
||||
msgid "Whether the field value is user editable"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:616 ../vn/vn-column.c:512
|
||||
#: ../vn/vn-field.c:619 ../vn/vn-column.c:515
|
||||
msgid "Whether the field value can be of type GVN_TYPE_NULL"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:629 ../vn/vn-column.c:525
|
||||
#: ../vn/vn-field.c:632 ../vn/vn-column.c:528
|
||||
msgid "Style function"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:630
|
||||
#: ../vn/vn-field.c:633
|
||||
msgid ""
|
||||
"A VnFieldStyleFunc to set the properties of each field depending on its value"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-entry.c:156 ../vn/field/vn-date-chooser.c:489
|
||||
#: ../vn/field/vn-label.c:114 ../vn/column/vn-column-entry.c:122
|
||||
#: ../vn/field/vn-entry.c:156 ../vn/field/vn-date-chooser.c:477
|
||||
#: ../vn/field/vn-label.c:115 ../vn/column/vn-column-entry.c:127
|
||||
msgid "Format"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-entry.c:157 ../vn/field/vn-label.c:115
|
||||
#: ../vn/column/vn-column-entry.c:123
|
||||
#: ../vn/field/vn-entry.c:157 ../vn/field/vn-label.c:116
|
||||
#: ../vn/column/vn-column-entry.c:128
|
||||
msgid "The format string describing the output of the entry."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-spin.c:171 ../vn/column/vn-column-spin.c:246
|
||||
#: ../vn/field/vn-spin.c:171 ../vn/column/vn-column-spin.c:201
|
||||
msgid "Digits"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-spin.c:172 ../vn/column/vn-column-spin.c:247
|
||||
#: ../vn/field/vn-spin.c:172 ../vn/column/vn-column-spin.c:202
|
||||
msgid "The number of decimal places to display."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-combo.c:286 ../vn/column/vn-column-combo.c:333
|
||||
#: ../vn/field/vn-combo.c:286 ../vn/column/vn-column-combo.c:340
|
||||
msgid "Index column"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-combo.c:287 ../vn/column/vn-column-combo.c:334
|
||||
#: ../vn/field/vn-combo.c:287 ../vn/column/vn-column-combo.c:341
|
||||
msgid "The column index of the model"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-combo.c:293 ../vn/column/vn-column-combo.c:340
|
||||
#: ../vn/field/vn-combo.c:293 ../vn/column/vn-column-combo.c:347
|
||||
msgid "Show column"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-combo.c:294 ../vn/column/vn-column-combo.c:341
|
||||
#: ../vn/field/vn-combo.c:294 ../vn/column/vn-column-combo.c:348
|
||||
msgid "The column of the model shown by combo"
|
||||
msgstr ""
|
||||
|
||||
|
@ -862,34 +863,34 @@ msgstr ""
|
|||
msgid "The name of the field used for the search"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:438
|
||||
#: ../vn/field/vn-date-chooser.c:426
|
||||
msgid "Change date"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:490
|
||||
#: ../vn/field/vn-date-chooser.c:478
|
||||
msgid "The date format string describing the order of the elements."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:491
|
||||
#: ../vn/field/vn-date-chooser.c:479
|
||||
msgctxt "Default date format string"
|
||||
msgid "%a, %d %b %Y"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:497
|
||||
#: ../vn/field/vn-date-chooser.c:485
|
||||
msgid "Show time"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:498
|
||||
#: ../vn/field/vn-date-chooser.c:486
|
||||
msgid ""
|
||||
"Whether to show the hour, minute and second fields to set the time of the "
|
||||
"day in the popup."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:506
|
||||
#: ../vn/field/vn-date-chooser.c:494
|
||||
msgid "Show date"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:507
|
||||
#: ../vn/field/vn-date-chooser.c:495
|
||||
msgid "Whether to show the calendar to set the date in the popup."
|
||||
msgstr ""
|
||||
|
||||
|
@ -911,7 +912,7 @@ msgstr ""
|
|||
msgid "No image set"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-http-image.c:211 ../vn/column/vn-column-image.c:531
|
||||
#: ../vn/field/vn-http-image.c:211 ../vn/column/vn-column-image.c:536
|
||||
msgid "File loader"
|
||||
msgstr ""
|
||||
|
||||
|
@ -935,92 +936,60 @@ msgstr ""
|
|||
msgid "A GBytes structure with the image data"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-column.c:491
|
||||
#: ../vn/vn-column.c:494
|
||||
msgid "The column index in the model"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-column.c:505
|
||||
#: ../vn/vn-column.c:508
|
||||
msgid "Whether the column values are editable"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-column.c:518
|
||||
#: ../vn/vn-column.c:521
|
||||
msgid "Tab index"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-column.c:519
|
||||
#: ../vn/vn-column.c:522
|
||||
msgid "Order in which the tab selects the columns for edition"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-column.c:526
|
||||
#: ../vn/vn-column.c:529
|
||||
msgid ""
|
||||
"A VnColumnStyleFunc to set the properties of each cell depending on its value"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:238
|
||||
msgid "Climb rate"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:239
|
||||
msgid "The acceleration rate when you hold down a button."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:254
|
||||
msgid "Minimum value"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:255
|
||||
msgid "The minimum value of the internal adjustment."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:262
|
||||
msgid "Maximum value"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:263
|
||||
msgid "The maximum value of the internal adjustment."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:270
|
||||
msgid "Step Increment"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:271
|
||||
msgid "The step increment of the internal adjustment"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-combo.c:347
|
||||
#: ../vn/column/vn-column-combo.c:354
|
||||
msgid "Sort column"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-combo.c:348
|
||||
#: ../vn/column/vn-column-combo.c:355
|
||||
msgid "The field number of the Grid model used to sort the column"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-image.c:502
|
||||
#: ../vn/column/vn-column-image.c:507
|
||||
msgid "Base path from the host where the images will be downloaded"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-image.c:509
|
||||
#: ../vn/column/vn-column-image.c:514
|
||||
msgid "Tooltip path"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-image.c:510
|
||||
#: ../vn/column/vn-column-image.c:515
|
||||
msgid ""
|
||||
"Prefix for the path of the images to be shown in the tooltip. Starting after "
|
||||
"the path of the column and appending the name on each cell"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-image.c:519
|
||||
#: ../vn/column/vn-column-image.c:524
|
||||
msgid "Tooltip size"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-image.c:520
|
||||
#: ../vn/column/vn-column-image.c:525
|
||||
msgid ""
|
||||
"Size of the bigger side of the tooltip images, the another side will be "
|
||||
"scaled accordingly and smaller images won't be scaled"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-image.c:532
|
||||
#: ../vn/column/vn-column-image.c:537
|
||||
msgid "An optional file loader, if it's NULL the column will create one"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1101,13 +1070,13 @@ msgid ""
|
|||
"02111-1307 USA."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/gui/date-chooser.glade.h:1 ../glade/glade-db-model.c:72
|
||||
#: ../glade/glade-eprop-model.c:163
|
||||
#: ../vn/gui/date-chooser.glade.h:1 ../glade/glade-db-model.c:143
|
||||
#: ../glade/glade-eprop-model.c:150
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/gui/date-chooser.glade.h:2 ../glade/glade-db-model.c:73
|
||||
#: ../glade/glade-eprop-model.c:164
|
||||
#: ../vn/gui/date-chooser.glade.h:2 ../glade/glade-db-model.c:144
|
||||
#: ../glade/glade-eprop-model.c:151
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1115,76 +1084,100 @@ msgstr ""
|
|||
msgid "Now"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/gui/menu.glade.h:1
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/gui/menu.glade.h:2
|
||||
msgid "Logout"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/gui/menu.glade.h:3
|
||||
msgid "Connect"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/gui/menu.glade.h:4
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/gui/menu.glade.h:5
|
||||
msgid "Quit"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/gui/menu.glade.h:6
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:37
|
||||
msgid "New SQL statement"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:69
|
||||
#: ../glade/glade-db-model.c:100
|
||||
msgid "Save as..."
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:140
|
||||
msgid "SQL Editor"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:74 ../glade/glade-eprop-model.c:165
|
||||
#: ../glade/glade-db-model.c:145 ../glade/glade-eprop-model.c:152
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:184
|
||||
#: ../glade/glade-db-model.c:203
|
||||
msgid "Save project"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:274
|
||||
msgid "Open the SQL Editor"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:289
|
||||
#: ../glade/glade-db-model.c:354 ../glade/glade-sql-batch.c:185
|
||||
msgid "Select a GvnParam"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:422 ../glade/glade-sql-batch.c:253
|
||||
msgid "Select the parameter from a list"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:440 ../glade/glade-sql-batch.c:271
|
||||
msgid "You need to create at least one GvnParam or derived object"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:594
|
||||
msgid "<b>Add or remove links</b>"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:303
|
||||
#: ../glade/glade-db-model.c:629
|
||||
msgid "Column"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:646
|
||||
msgctxt "Verb"
|
||||
msgid "Link"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:365
|
||||
msgid "<b>Add or remove holders</b>"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:440
|
||||
msgid "Select a GvnParam"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:497
|
||||
msgid "Select the parameter from a list"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:515
|
||||
msgid "You need to create at least one GvnParam or derived object"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model-editor.c:62
|
||||
#: ../glade/glade-db-model-editor.c:54
|
||||
msgid "List of parameters linked to the model"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model-editor.c:65
|
||||
msgid "List of SqlHolders and identifiers"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-eprop-model.c:128
|
||||
#: ../glade/glade-eprop-model.c:118
|
||||
msgid "Create and set a model for a DbModelHolder"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-eprop-model.c:160
|
||||
#: ../glade/glade-eprop-model.c:147
|
||||
msgid "Model configuration"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-eprop-model.c:160
|
||||
msgid "Model properties configuration"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-eprop-model.c:243
|
||||
#: ../glade/glade-eprop-model.c:218
|
||||
msgid "Select a VnModel for the property"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-eprop-model.c:264 ../glade/glade-eprop-model.c:310
|
||||
#: ../glade/glade-eprop-model.c:239 ../glade/glade-eprop-model.c:285
|
||||
msgid "New Model"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-eprop-model.c:305
|
||||
#: ../glade/glade-eprop-model.c:280
|
||||
msgid "Edit Model"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1215,6 +1208,14 @@ msgstr ""
|
|||
msgid "Automatic generation of params for %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-sql-batch.c:79
|
||||
msgid "List of items"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-sql-batch.c:401
|
||||
msgid "<b>Add or remove items</b>"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/vn.xml.h:1
|
||||
msgid "The model held by the object"
|
||||
msgstr ""
|
||||
|
@ -1224,10 +1225,28 @@ msgid "Example"
|
|||
msgstr ""
|
||||
|
||||
#: ../module/data/example.xml.h:2
|
||||
msgid ""
|
||||
"\n"
|
||||
"\t\t\tConsulter\n"
|
||||
"\t\t"
|
||||
msgstr ""
|
||||
|
||||
#: ../module/data/example.xml.h:5
|
||||
msgid ""
|
||||
"\n"
|
||||
"\t\t\tCustomer\n"
|
||||
"\t\t"
|
||||
msgstr ""
|
||||
|
||||
#: ../module/data/example-menu.xml.h:1
|
||||
msgid "Consulter"
|
||||
msgstr ""
|
||||
|
||||
#: ../module/data/consulter.glade.h:1
|
||||
#: ../module/data/example-menu.xml.h:2
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
#: ../module/data/consulter.glade.h:1 ../module/data/consulter-menu.xml.h:1
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1235,7 +1254,7 @@ msgstr ""
|
|||
msgid "Send the current query"
|
||||
msgstr ""
|
||||
|
||||
#: ../module/data/consulter.glade.h:3
|
||||
#: ../module/data/consulter.glade.h:3 ../module/data/consulter-menu.xml.h:2
|
||||
msgid "Clean"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1252,15 +1271,15 @@ msgid "Query:"
|
|||
msgstr ""
|
||||
|
||||
#: ../module/data/consulter.glade.h:7
|
||||
msgid "Immediate changes"
|
||||
msgstr ""
|
||||
|
||||
#: ../module/src/vn-consulter.c:234
|
||||
msgid "Type or select a query"
|
||||
msgstr ""
|
||||
|
||||
#: ../module/src/vn-consulter.c:236
|
||||
msgid "Message"
|
||||
#: ../module/data/consulter.glade.h:8
|
||||
msgid "Log"
|
||||
msgstr ""
|
||||
|
||||
#: ../module/data/consulter.glade.h:9
|
||||
msgid "Immediate changes"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Hedera"
|
||||
|
|
489
po/es.po
489
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-07-07 15:57+0200\n"
|
||||
"POT-Creation-Date: 2014-07-15 14:27+0200\n"
|
||||
"PO-Revision-Date: 2013-06-04 13:36+0200\n"
|
||||
"Last-Translator: Alejandro T. Colombini Gómez <atcolombini@verdnatura.es>\n"
|
||||
"Language-Team: Spanish\n"
|
||||
|
@ -33,7 +33,7 @@ msgstr "El parámetro no puede ser nulo"
|
|||
msgid "Incompatible type for this param"
|
||||
msgstr "Tipo incompatible para este parametro"
|
||||
|
||||
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:252 ../vn/vn-field.c:573
|
||||
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:255 ../vn/vn-field.c:576
|
||||
msgid "Value"
|
||||
msgstr "Valor"
|
||||
|
||||
|
@ -49,7 +49,7 @@ msgstr "Maestro"
|
|||
msgid "The master GvnParam of this parameter"
|
||||
msgstr "El GvnParam maestro de este parámetro"
|
||||
|
||||
#: ../gvn/gvn-param.c:457 ../db/db-iterator.c:1055
|
||||
#: ../gvn/gvn-param.c:457 ../db/db-iterator.c:1062
|
||||
msgid "Mode"
|
||||
msgstr "Modo"
|
||||
|
||||
|
@ -73,15 +73,15 @@ msgstr "Spec"
|
|||
msgid "The spec of the parameter"
|
||||
msgstr "Datos específicos del parámetro"
|
||||
|
||||
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:601
|
||||
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:604
|
||||
msgid "Glib Type"
|
||||
msgstr "Tipo Glib"
|
||||
|
||||
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:602
|
||||
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:605
|
||||
msgid "The type of the value"
|
||||
msgstr "El tipo del valor"
|
||||
|
||||
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:608 ../vn/vn-column.c:504
|
||||
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:611 ../vn/vn-column.c:507
|
||||
msgid "Editable"
|
||||
msgstr "Editable"
|
||||
|
||||
|
@ -89,7 +89,7 @@ msgstr "Editable"
|
|||
msgid "Whether the param value can be modified"
|
||||
msgstr "Indica si el parámetro puede modificarse"
|
||||
|
||||
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:615 ../vn/vn-column.c:511
|
||||
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:618 ../vn/vn-column.c:514
|
||||
msgid "Null"
|
||||
msgstr "Nulo"
|
||||
|
||||
|
@ -97,11 +97,11 @@ msgstr "Nulo"
|
|||
msgid "Whether the param value can be of type GVN_TYPE_NULL"
|
||||
msgstr "Indica si el parámetro puede ser nulo"
|
||||
|
||||
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:622
|
||||
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:625
|
||||
msgid "Default Value"
|
||||
msgstr "Valor por defecto"
|
||||
|
||||
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:623
|
||||
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:626
|
||||
msgid "The default value"
|
||||
msgstr "El valor por defecto"
|
||||
|
||||
|
@ -126,19 +126,19 @@ 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-value.c:245 ../glade/glade-db-model.c:530
|
||||
#: ../sql/sql-value.c:248 ../glade/glade-db-model.c:638
|
||||
msgid "Param"
|
||||
msgstr "Parámetro"
|
||||
|
||||
#: ../sql/sql-value.c:246
|
||||
#: ../sql/sql-value.c:249
|
||||
msgid "The param which is linked"
|
||||
msgstr "El parametro al cual está vinculado"
|
||||
|
||||
#: ../sql/sql-value.c:253
|
||||
#: ../sql/sql-value.c:256
|
||||
msgid "The value"
|
||||
msgstr "Valor"
|
||||
|
||||
#: ../sql/sql-string.c:188 ../db/db-model.c:3311 ../db/db-request.c:449
|
||||
#: ../sql/sql-string.c:188 ../db/db-model.c:3315 ../db/db-request.c:449
|
||||
msgid "SQL"
|
||||
msgstr "SQL"
|
||||
|
||||
|
@ -210,7 +210,7 @@ msgstr "Parámetros"
|
|||
msgid "The function parameters"
|
||||
msgstr "Los parametros de la función"
|
||||
|
||||
#: ../sql/sql-holder.c:124 ../glade/glade-db-model.c:369
|
||||
#: ../sql/sql-holder.c:124 ../glade/glade-sql-batch.c:436
|
||||
msgid "Identifier"
|
||||
msgstr "Identificador"
|
||||
|
||||
|
@ -327,41 +327,41 @@ 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-iterator.c:1056
|
||||
#: ../db/db-iterator.c:1063
|
||||
msgid "The mode in which the iterator is working"
|
||||
msgstr "El modo en el que está trabajando el Iterator"
|
||||
|
||||
#: ../db/db-iterator.c:1063
|
||||
#: ../db/db-iterator.c:1070
|
||||
msgid "Remember selection"
|
||||
msgstr "Recordar fila seleccionada"
|
||||
|
||||
#: ../db/db-iterator.c:1064
|
||||
#: ../db/db-iterator.c:1071
|
||||
msgid "Wether to rememeber the selection when model is refreshed"
|
||||
msgstr ""
|
||||
"Si se recordará o no la fila seleccionado cuando se refresque el modelo"
|
||||
|
||||
#: ../db/db-model.c:3285 ../db/db-request.c:442 ../vn/vn-gui.c:1560
|
||||
#: ../db/db-model.c:3289 ../db/db-request.c:442 ../vn/vn-gui.c:1472
|
||||
#: ../vn/vn-form.c:245
|
||||
msgid "Connection"
|
||||
msgstr "Conexión"
|
||||
|
||||
#: ../db/db-model.c:3286
|
||||
#: ../db/db-model.c:3290
|
||||
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:3293
|
||||
#: ../db/db-model.c:3297
|
||||
msgid "Statement"
|
||||
msgstr "Consulta"
|
||||
|
||||
#: ../db/db-model.c:3294
|
||||
#: ../db/db-model.c:3298
|
||||
msgid "The statement which retrieves the data"
|
||||
msgstr "La consulta que recupera los datos"
|
||||
|
||||
#: ../db/db-model.c:3301
|
||||
#: ../db/db-model.c:3305
|
||||
msgid "Use file"
|
||||
msgstr "Usa fichero"
|
||||
|
||||
#: ../db/db-model.c:3302
|
||||
#: ../db/db-model.c:3306
|
||||
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"
|
||||
|
@ -369,7 +369,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:3312
|
||||
#: ../db/db-model.c:3316
|
||||
msgid ""
|
||||
"Depending on the \"use-file\" property this will be the path to a file with "
|
||||
"queries for the model or a SQL string"
|
||||
|
@ -377,27 +377,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:3321
|
||||
#: ../db/db-model.c:3325
|
||||
msgid "Main Table"
|
||||
msgstr "Tabla principal"
|
||||
|
||||
#: ../db/db-model.c:3322
|
||||
#: ../db/db-model.c:3326
|
||||
msgid "The main table of the model"
|
||||
msgstr "La tabla principal del modelo"
|
||||
|
||||
#: ../db/db-model.c:3329
|
||||
#: ../db/db-model.c:3333
|
||||
msgid "Update flags"
|
||||
msgstr "Flags de actualización"
|
||||
|
||||
#: ../db/db-model.c:3330
|
||||
#: ../db/db-model.c:3334
|
||||
msgid "The flags that indicate how a model can be modified"
|
||||
msgstr "Indican como se puede modificar el modelo"
|
||||
|
||||
#: ../db/db-model.c:3338
|
||||
#: ../db/db-model.c:3342
|
||||
msgid "Result position"
|
||||
msgstr "Posición del resultado"
|
||||
|
||||
#: ../db/db-model.c:3339
|
||||
#: ../db/db-model.c:3343
|
||||
msgid ""
|
||||
"The position where the query that will fill the model will be placed in a "
|
||||
"multi-query"
|
||||
|
@ -405,11 +405,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:3349
|
||||
#: ../db/db-model.c:3353
|
||||
msgid "Partial delete"
|
||||
msgstr "Delete parcial"
|
||||
|
||||
#: ../db/db-model.c:3350
|
||||
#: ../db/db-model.c:3354
|
||||
msgid ""
|
||||
"When a row is deleted set all the fields from the table to null rather than "
|
||||
"delete it."
|
||||
|
@ -417,15 +417,15 @@ msgstr ""
|
|||
"Cuando una fila es eliminada, poner todos los campos de la tabla a nulo en "
|
||||
"lugar de borrarla."
|
||||
|
||||
#: ../db/db-model.c:3358
|
||||
#: ../db/db-model.c:3362
|
||||
msgid "Batch"
|
||||
msgstr "Batch"
|
||||
|
||||
#: ../db/db-model.c:3359
|
||||
#: ../db/db-model.c:3363
|
||||
msgid "The batch assigned to the model"
|
||||
msgstr "El batch asignado al modelo"
|
||||
|
||||
#: ../db/db-model-holder.c:71 ../db/db-calc.c:329
|
||||
#: ../db/db-model-holder.c:71 ../db/db-calc.c:405
|
||||
msgid "Model"
|
||||
msgstr "Modelo"
|
||||
|
||||
|
@ -433,43 +433,52 @@ msgstr "Modelo"
|
|||
msgid "The model used by the holder"
|
||||
msgstr "La conexión empleada por el objeto"
|
||||
|
||||
#: ../db/db-calc.c:330
|
||||
#: ../db/db-calc.c:406
|
||||
msgid "The model where the operations will be applied"
|
||||
msgstr "El modelo en el que se aplicarán las operaciones"
|
||||
|
||||
#: ../db/db-calc.c:337
|
||||
#: ../db/db-calc.c:413
|
||||
msgid "Operation type"
|
||||
msgstr "Tipo de operación"
|
||||
|
||||
#: ../db/db-calc.c:338
|
||||
#: ../db/db-calc.c:414
|
||||
msgid "The type of the operation applied over the function"
|
||||
msgstr "El tipo de operación aplicada sobre la función"
|
||||
|
||||
#: ../db/db-calc.c:346
|
||||
#: ../db/db-calc.c:422
|
||||
msgid "Function"
|
||||
msgstr "Función"
|
||||
|
||||
#: ../db/db-calc.c:347
|
||||
#: ../db/db-calc.c:423
|
||||
msgid "The function to execute"
|
||||
msgstr "Función a ejecutar"
|
||||
|
||||
#: ../db/db-calc.c:353
|
||||
#: ../db/db-calc.c:429
|
||||
msgid "Data"
|
||||
msgstr "Datos"
|
||||
|
||||
#: ../db/db-calc.c:354
|
||||
#: ../db/db-calc.c:430
|
||||
msgid "The user provided data for the function"
|
||||
msgstr "Datos proporcionados por el usuario"
|
||||
|
||||
#: ../db/db-calc.c:360 ../glade/glade-db-model.c:293
|
||||
msgid "Column"
|
||||
msgstr "Columna"
|
||||
#: ../db/db-calc.c:436 ../db/db-param.c:258 ../vn/vn-column.c:493
|
||||
msgid "Column index"
|
||||
msgstr "Posición"
|
||||
|
||||
#: ../db/db-calc.c:361
|
||||
#: ../db/db-calc.c:437
|
||||
msgid "A column to apply the operations over it"
|
||||
msgstr "Una columna sobre la que se aplicarán las operaciones"
|
||||
|
||||
#: ../db/db-param.c:251 ../vn/vn-grid.c:518 ../vn/vn-field.c:587
|
||||
#: ../db/db-calc.c:446 ../db/db-param.c:265 ../vn/vn-field.c:597
|
||||
#: ../vn/vn-column.c:500
|
||||
msgid "Column name"
|
||||
msgstr "Nombre de la columna"
|
||||
|
||||
#: ../db/db-calc.c:447
|
||||
msgid "A column name to apply the operations over it"
|
||||
msgstr "Nombre de la columna sobre la que se aplicarán las operaciones"
|
||||
|
||||
#: ../db/db-param.c:251 ../vn/vn-grid.c:421 ../vn/vn-field.c:590
|
||||
msgid "Iterator"
|
||||
msgstr "Iterator"
|
||||
|
||||
|
@ -477,19 +486,11 @@ msgstr "Iterator"
|
|||
msgid "The iterator owner of param"
|
||||
msgstr "El Iterator dueño del parámetro"
|
||||
|
||||
#: ../db/db-param.c:258 ../vn/vn-column.c:490
|
||||
msgid "Column index"
|
||||
msgstr "Posición"
|
||||
|
||||
#: ../db/db-param.c:259
|
||||
msgid "The referenced column index"
|
||||
msgstr "La posición de la columna en el Grid"
|
||||
|
||||
#: ../db/db-param.c:265 ../vn/vn-field.c:594 ../vn/vn-column.c:497
|
||||
msgid "Column name"
|
||||
msgstr "Nombre de la columna"
|
||||
|
||||
#: ../db/db-param.c:266 ../vn/vn-column.c:498
|
||||
#: ../db/db-param.c:266 ../vn/vn-column.c:501
|
||||
msgid "The referenced column name"
|
||||
msgstr ""
|
||||
"El nombre del campo en el Iterator vinculado al Grid al que pretenece la "
|
||||
|
@ -532,7 +533,7 @@ msgid "The path where query files are located"
|
|||
msgstr "La ruta donde se encuentran los archivos de consultas"
|
||||
|
||||
#: ../db/db-conn.c:1062 ../db/db-file-loader.c:716
|
||||
#: ../vn/column/vn-column-image.c:493
|
||||
#: ../vn/column/vn-column-image.c:498
|
||||
msgid "Host"
|
||||
msgstr "Host"
|
||||
|
||||
|
@ -595,11 +596,11 @@ msgstr "No se ha guardado %s en la cache"
|
|||
msgid "Unknown content length of file %s"
|
||||
msgstr "Longitud del contenido del archivo %s desconocida"
|
||||
|
||||
#: ../db/db-file-loader.c:717 ../vn/column/vn-column-image.c:494
|
||||
#: ../db/db-file-loader.c:717 ../vn/column/vn-column-image.c:499
|
||||
msgid "The host web server name to get the images"
|
||||
msgstr "El nombre del servidor web al que se conectará"
|
||||
|
||||
#: ../db/db-file-loader.c:724 ../vn/column/vn-column-image.c:501
|
||||
#: ../db/db-file-loader.c:724 ../vn/column/vn-column-image.c:506
|
||||
msgid "Path"
|
||||
msgstr "Ruta"
|
||||
|
||||
|
@ -627,63 +628,63 @@ msgstr "Tamaño máximo de la caché"
|
|||
msgid "The maximal size for the contents of the cache directory"
|
||||
msgstr "El tamaño máximo para los contenidos del directorio de caché"
|
||||
|
||||
#: ../vn/vn-gui.c:632
|
||||
#: ../vn/vn-gui.c:545
|
||||
msgid "Connection has been lost. Do you want to reconnect?"
|
||||
msgstr "Se ha perdido la conexión. ¿Quieres reconectar?"
|
||||
|
||||
#: ../vn/vn-gui.c:639
|
||||
#: ../vn/vn-gui.c:552
|
||||
msgid "An error occurred in the connection."
|
||||
msgstr "Ha habido un error en la conexión."
|
||||
|
||||
#: ../vn/vn-gui.c:642
|
||||
#: ../vn/vn-gui.c:555
|
||||
msgid "Database error"
|
||||
msgstr "Error en la base de datos"
|
||||
|
||||
#: ../vn/vn-gui.c:649
|
||||
#: ../vn/vn-gui.c:562
|
||||
msgid "Unknown error"
|
||||
msgstr "Error desconocido"
|
||||
|
||||
#: ../vn/vn-gui.c:998
|
||||
#: ../vn/vn-gui.c:910
|
||||
msgid "Closing connection"
|
||||
msgstr "Cerrando conexión"
|
||||
|
||||
#: ../vn/vn-gui.c:1000
|
||||
#: ../vn/vn-gui.c:912
|
||||
msgid "Transaction started"
|
||||
msgstr "Transacción iniciada"
|
||||
|
||||
#: ../vn/vn-gui.c:1002
|
||||
#: ../vn/vn-gui.c:914
|
||||
msgid "Connecting"
|
||||
msgstr "Conectando"
|
||||
|
||||
#: ../vn/vn-gui.c:1004
|
||||
#: ../vn/vn-gui.c:916
|
||||
msgid "Connection lost"
|
||||
msgstr "Conexión perdida"
|
||||
|
||||
#: ../vn/vn-gui.c:1006
|
||||
#: ../vn/vn-gui.c:918
|
||||
msgid "Connection closed"
|
||||
msgstr "Conexión cerrada"
|
||||
|
||||
#: ../vn/vn-gui.c:1008 ../vn/field/vn-http-image.c:119
|
||||
#: ../vn/vn-gui.c:920 ../vn/field/vn-http-image.c:119
|
||||
msgid "Loading"
|
||||
msgstr "Cargando"
|
||||
|
||||
#: ../vn/vn-gui.c:1010
|
||||
#: ../vn/vn-gui.c:922
|
||||
msgid "Ready"
|
||||
msgstr "Preparado"
|
||||
|
||||
#: ../vn/vn-gui.c:1561
|
||||
#: ../vn/vn-gui.c:1473
|
||||
msgid "The connection used by Gui"
|
||||
msgstr "La conexión empleada por Gui"
|
||||
|
||||
#: ../vn/vn-gui.c:1567
|
||||
#: ../vn/vn-gui.c:1479
|
||||
msgid "Application"
|
||||
msgstr "Aplicación"
|
||||
|
||||
#: ../vn/vn-gui.c:1568
|
||||
#: ../vn/vn-gui.c:1480
|
||||
msgid "The application handler for the entire program"
|
||||
msgstr "El manejador de la aplicación para todo el programa"
|
||||
|
||||
#: ../vn/vn-grid.c:519
|
||||
#: ../vn/vn-grid.c:422
|
||||
msgid "The iterator used by VnGrid"
|
||||
msgstr "El Iterator empleado por VnGrid"
|
||||
|
||||
|
@ -735,19 +736,19 @@ msgstr "Mover a la siguiente fila"
|
|||
msgid "Move to the last row"
|
||||
msgstr "Mover a la última fila"
|
||||
|
||||
#: ../vn/vn-handler.c:529
|
||||
#: ../vn/vn-handler.c:531
|
||||
msgid "Show flags"
|
||||
msgstr "Visibilidad"
|
||||
|
||||
#: ../vn/vn-handler.c:530
|
||||
#: ../vn/vn-handler.c:532
|
||||
msgid "Sets the buttons that will be shown on the interface"
|
||||
msgstr "Indica los botones que se mostrarán en la interfaz"
|
||||
|
||||
#: ../vn/vn-handler.c:537
|
||||
#: ../vn/vn-handler.c:539
|
||||
msgid "Simple record"
|
||||
msgstr "Registro simple"
|
||||
|
||||
#: ../vn/vn-handler.c:538
|
||||
#: ../vn/vn-handler.c:540
|
||||
msgid "Sets if it is used to handle a iterator with a single record"
|
||||
msgstr "Indica si se utiliza para manejar solo un registro"
|
||||
|
||||
|
@ -792,77 +793,77 @@ msgstr "Id de la aplicación"
|
|||
msgid "The application identifier"
|
||||
msgstr "El identificador de la aplicación"
|
||||
|
||||
#: ../vn/vn-field.c:574
|
||||
#: ../vn/vn-field.c:577
|
||||
msgid "The current value of the field"
|
||||
msgstr "El valor actual del campo"
|
||||
|
||||
#: ../vn/vn-field.c:580 ../glade/glade-db-iterator.c:71
|
||||
#: ../glade/glade-db-iterator.c:116
|
||||
#: ../vn/vn-field.c:583 ../glade/glade-db-iterator.c:71
|
||||
#: ../glade/glade-db-iterator.c:116 ../glade/glade-sql-batch.c:445
|
||||
msgid "Parameter"
|
||||
msgstr "Parámetro"
|
||||
|
||||
#: ../vn/vn-field.c:581
|
||||
#: ../vn/vn-field.c:584
|
||||
msgid "The param where the field can read/write its value"
|
||||
msgstr "El parámetro en el que el campo escribe/lee su valor"
|
||||
|
||||
#: ../vn/vn-field.c:588
|
||||
#: ../vn/vn-field.c:591
|
||||
msgid "The iterator used to get the field param"
|
||||
msgstr "El Iterator con el que se obtiene el parámetro"
|
||||
|
||||
#: ../vn/vn-field.c:595
|
||||
#: ../vn/vn-field.c:598
|
||||
msgid "The column name on the iterator"
|
||||
msgstr "El nombre de la columna en el Iterator"
|
||||
|
||||
#: ../vn/vn-field.c:609
|
||||
#: ../vn/vn-field.c:612
|
||||
msgid "Whether the field value is user editable"
|
||||
msgstr "Si el valor de campo puede ser editado por el usuario"
|
||||
|
||||
#: ../vn/vn-field.c:616 ../vn/vn-column.c:512
|
||||
#: ../vn/vn-field.c:619 ../vn/vn-column.c:515
|
||||
msgid "Whether the field value can be of type GVN_TYPE_NULL"
|
||||
msgstr "Si el campo puede ser del tipo GVN_TYPE_NULL"
|
||||
|
||||
#: ../vn/vn-field.c:629 ../vn/vn-column.c:525
|
||||
#: ../vn/vn-field.c:632 ../vn/vn-column.c:528
|
||||
msgid "Style function"
|
||||
msgstr "Función de estilo"
|
||||
|
||||
#: ../vn/vn-field.c:630
|
||||
#: ../vn/vn-field.c:633
|
||||
msgid ""
|
||||
"A VnFieldStyleFunc to set the properties of each field depending on its value"
|
||||
msgstr ""
|
||||
"Una VnFieldStyleFunc para configurar las propiedades de cada campo "
|
||||
"dependiendo de su valor"
|
||||
|
||||
#: ../vn/field/vn-entry.c:156 ../vn/field/vn-date-chooser.c:489
|
||||
#: ../vn/field/vn-label.c:114 ../vn/column/vn-column-entry.c:122
|
||||
#: ../vn/field/vn-entry.c:156 ../vn/field/vn-date-chooser.c:477
|
||||
#: ../vn/field/vn-label.c:115 ../vn/column/vn-column-entry.c:127
|
||||
msgid "Format"
|
||||
msgstr "Formato"
|
||||
|
||||
#: ../vn/field/vn-entry.c:157 ../vn/field/vn-label.c:115
|
||||
#: ../vn/column/vn-column-entry.c:123
|
||||
#: ../vn/field/vn-entry.c:157 ../vn/field/vn-label.c:116
|
||||
#: ../vn/column/vn-column-entry.c:128
|
||||
msgid "The format string describing the output of the entry."
|
||||
msgstr "La cadena de formato que describe la salida del campo de texto."
|
||||
|
||||
#: ../vn/field/vn-spin.c:171 ../vn/column/vn-column-spin.c:246
|
||||
#: ../vn/field/vn-spin.c:171 ../vn/column/vn-column-spin.c:201
|
||||
msgid "Digits"
|
||||
msgstr "Dígitos"
|
||||
|
||||
#: ../vn/field/vn-spin.c:172 ../vn/column/vn-column-spin.c:247
|
||||
#: ../vn/field/vn-spin.c:172 ../vn/column/vn-column-spin.c:202
|
||||
msgid "The number of decimal places to display."
|
||||
msgstr "El número de posiciones decimales que se muestran"
|
||||
|
||||
#: ../vn/field/vn-combo.c:286 ../vn/column/vn-column-combo.c:333
|
||||
#: ../vn/field/vn-combo.c:286 ../vn/column/vn-column-combo.c:340
|
||||
msgid "Index column"
|
||||
msgstr "Columna índice"
|
||||
|
||||
#: ../vn/field/vn-combo.c:287 ../vn/column/vn-column-combo.c:334
|
||||
#: ../vn/field/vn-combo.c:287 ../vn/column/vn-column-combo.c:341
|
||||
msgid "The column index of the model"
|
||||
msgstr "La columna índice del modelo"
|
||||
|
||||
#: ../vn/field/vn-combo.c:293 ../vn/column/vn-column-combo.c:340
|
||||
#: ../vn/field/vn-combo.c:293 ../vn/column/vn-column-combo.c:347
|
||||
msgid "Show column"
|
||||
msgstr "Columna visible"
|
||||
|
||||
#: ../vn/field/vn-combo.c:294 ../vn/column/vn-column-combo.c:341
|
||||
#: ../vn/field/vn-combo.c:294 ../vn/column/vn-column-combo.c:348
|
||||
msgid "The column of the model shown by combo"
|
||||
msgstr "La columna del modelo que se mostrará en el combo"
|
||||
|
||||
|
@ -874,25 +875,25 @@ msgstr "Campo"
|
|||
msgid "The name of the field used for the search"
|
||||
msgstr "El nombre del campo usado para la búsqueda"
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:438
|
||||
#: ../vn/field/vn-date-chooser.c:426
|
||||
msgid "Change date"
|
||||
msgstr "Cambiar fecha"
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:490
|
||||
#: ../vn/field/vn-date-chooser.c:478
|
||||
msgid "The date format string describing the order of the elements."
|
||||
msgstr ""
|
||||
"La cadena de formato de fechas que describe la salida del campo de texto."
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:491
|
||||
#: ../vn/field/vn-date-chooser.c:479
|
||||
msgctxt "Default date format string"
|
||||
msgid "%a, %d %b %Y"
|
||||
msgstr "%a, %d %b %Y"
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:497
|
||||
#: ../vn/field/vn-date-chooser.c:485
|
||||
msgid "Show time"
|
||||
msgstr "Mostrar tiempo"
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:498
|
||||
#: ../vn/field/vn-date-chooser.c:486
|
||||
msgid ""
|
||||
"Whether to show the hour, minute and second fields to set the time of the "
|
||||
"day in the popup."
|
||||
|
@ -900,11 +901,11 @@ msgstr ""
|
|||
"Si se muestran los campos para hora, minuto y segundo para indicar el "
|
||||
"instante del día en el emergente"
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:506
|
||||
#: ../vn/field/vn-date-chooser.c:494
|
||||
msgid "Show date"
|
||||
msgstr "Mostrar fecha"
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:507
|
||||
#: ../vn/field/vn-date-chooser.c:495
|
||||
msgid "Whether to show the calendar to set the date in the popup."
|
||||
msgstr "Si se debe mostrar el calendario para poner la fecha en el emergente."
|
||||
|
||||
|
@ -926,7 +927,7 @@ msgstr "Ya se ha especificado un cargador de archivos"
|
|||
msgid "No image set"
|
||||
msgstr "Sin imagen"
|
||||
|
||||
#: ../vn/field/vn-http-image.c:211 ../vn/column/vn-column-image.c:531
|
||||
#: ../vn/field/vn-http-image.c:211 ../vn/column/vn-column-image.c:536
|
||||
msgid "File loader"
|
||||
msgstr "Cargador de archivos"
|
||||
|
||||
|
@ -950,79 +951,47 @@ msgstr "Bytes"
|
|||
msgid "A GBytes structure with the image data"
|
||||
msgstr "Una estructura GBytes con los datos de la imágen"
|
||||
|
||||
#: ../vn/vn-column.c:491
|
||||
#: ../vn/vn-column.c:494
|
||||
msgid "The column index in the model"
|
||||
msgstr "El índice de la columna en el modelo"
|
||||
|
||||
#: ../vn/vn-column.c:505
|
||||
#: ../vn/vn-column.c:508
|
||||
msgid "Whether the column values are editable"
|
||||
msgstr "Si el valor de campo puede ser editado por el usuario"
|
||||
|
||||
#: ../vn/vn-column.c:518
|
||||
#: ../vn/vn-column.c:521
|
||||
msgid "Tab index"
|
||||
msgstr "Tab index"
|
||||
|
||||
#: ../vn/vn-column.c:519
|
||||
#: ../vn/vn-column.c:522
|
||||
msgid "Order in which the tab selects the columns for edition"
|
||||
msgstr "Orden en el cual el tabulador selecciona las columnas para editar"
|
||||
|
||||
#: ../vn/vn-column.c:526
|
||||
#: ../vn/vn-column.c:529
|
||||
msgid ""
|
||||
"A VnColumnStyleFunc to set the properties of each cell depending on its value"
|
||||
msgstr ""
|
||||
"Una VnColumnStyleFunc para configurar las propiedadesde cada celda "
|
||||
"dependiendo de su valor"
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:238
|
||||
msgid "Climb rate"
|
||||
msgstr "Tasa de subida"
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:239
|
||||
msgid "The acceleration rate when you hold down a button."
|
||||
msgstr "La tasa de aceleración cuando se mantiene apretado el botón."
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:254
|
||||
msgid "Minimum value"
|
||||
msgstr "Valor mínimo"
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:255
|
||||
msgid "The minimum value of the internal adjustment."
|
||||
msgstr "Valor mínimo del ajuste interno."
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:262
|
||||
msgid "Maximum value"
|
||||
msgstr "Valor máximo"
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:263
|
||||
msgid "The maximum value of the internal adjustment."
|
||||
msgstr "Valor máximo del ajuste interno."
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:270
|
||||
msgid "Step Increment"
|
||||
msgstr "Incremento del paso"
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:271
|
||||
msgid "The step increment of the internal adjustment"
|
||||
msgstr "El incremento del paso del ajuste interno"
|
||||
|
||||
#: ../vn/column/vn-column-combo.c:347
|
||||
#: ../vn/column/vn-column-combo.c:354
|
||||
msgid "Sort column"
|
||||
msgstr "Columna de ordenación"
|
||||
|
||||
#: ../vn/column/vn-column-combo.c:348
|
||||
#: ../vn/column/vn-column-combo.c:355
|
||||
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"
|
||||
|
||||
#: ../vn/column/vn-column-image.c:502
|
||||
#: ../vn/column/vn-column-image.c:507
|
||||
msgid "Base path from the host where the images will be downloaded"
|
||||
msgstr "La ruta base del servidor desde donde se descargarán las imágenes."
|
||||
|
||||
#: ../vn/column/vn-column-image.c:509
|
||||
#: ../vn/column/vn-column-image.c:514
|
||||
msgid "Tooltip path"
|
||||
msgstr "Ruta del tooltip"
|
||||
|
||||
#: ../vn/column/vn-column-image.c:510
|
||||
#: ../vn/column/vn-column-image.c:515
|
||||
msgid ""
|
||||
"Prefix for the path of the images to be shown in the tooltip. Starting after "
|
||||
"the path of the column and appending the name on each cell"
|
||||
|
@ -1031,11 +1000,11 @@ msgstr ""
|
|||
"Empezando desde la ruta de la columna y añadiendo después el nombre de cada "
|
||||
"celda"
|
||||
|
||||
#: ../vn/column/vn-column-image.c:519
|
||||
#: ../vn/column/vn-column-image.c:524
|
||||
msgid "Tooltip size"
|
||||
msgstr "Tamaño del tooltip"
|
||||
|
||||
#: ../vn/column/vn-column-image.c:520
|
||||
#: ../vn/column/vn-column-image.c:525
|
||||
msgid ""
|
||||
"Size of the bigger side of the tooltip images, the another side will be "
|
||||
"scaled accordingly and smaller images won't be scaled"
|
||||
|
@ -1043,7 +1012,7 @@ msgstr ""
|
|||
"Tamaño del lado más grande de las imágenes de tooltip, el otro lado se "
|
||||
"escalará de acuerdo a este y las imágenes más pequeñas no se escalarán"
|
||||
|
||||
#: ../vn/column/vn-column-image.c:532
|
||||
#: ../vn/column/vn-column-image.c:537
|
||||
msgid "An optional file loader, if it's NULL the column will create one"
|
||||
msgstr "Un cargador de archivos opcional, si es nulo la columna creará uno"
|
||||
|
||||
|
@ -1138,13 +1107,13 @@ msgstr ""
|
|||
"Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA\n"
|
||||
"02111-1307 USA."
|
||||
|
||||
#: ../vn/gui/date-chooser.glade.h:1 ../glade/glade-db-model.c:72
|
||||
#: ../glade/glade-eprop-model.c:163
|
||||
#: ../vn/gui/date-chooser.glade.h:1 ../glade/glade-db-model.c:143
|
||||
#: ../glade/glade-eprop-model.c:150
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: ../vn/gui/date-chooser.glade.h:2 ../glade/glade-db-model.c:73
|
||||
#: ../glade/glade-eprop-model.c:164
|
||||
#: ../vn/gui/date-chooser.glade.h:2 ../glade/glade-db-model.c:144
|
||||
#: ../glade/glade-eprop-model.c:151
|
||||
msgid "Clear"
|
||||
msgstr "Limpiar"
|
||||
|
||||
|
@ -1152,76 +1121,100 @@ msgstr "Limpiar"
|
|||
msgid "Now"
|
||||
msgstr "Ahora"
|
||||
|
||||
#: ../vn/gui/menu.glade.h:1
|
||||
msgid "New window"
|
||||
msgstr "Nueva ventana"
|
||||
|
||||
#: ../vn/gui/menu.glade.h:2
|
||||
msgid "Logout"
|
||||
msgstr "Desconectar"
|
||||
|
||||
#: ../vn/gui/menu.glade.h:3
|
||||
msgid "Connect"
|
||||
msgstr "Conectar"
|
||||
|
||||
#: ../vn/gui/menu.glade.h:4
|
||||
msgid "About"
|
||||
msgstr "Acerca de"
|
||||
|
||||
#: ../vn/gui/menu.glade.h:5
|
||||
msgid "Quit"
|
||||
msgstr "Salir"
|
||||
|
||||
#: ../vn/gui/menu.glade.h:6
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#: ../glade/glade-db-model.c:37
|
||||
msgid "New SQL statement"
|
||||
msgstr "Nueva consulta SQL"
|
||||
|
||||
#: ../glade/glade-db-model.c:69
|
||||
#: ../glade/glade-db-model.c:100
|
||||
msgid "Save as..."
|
||||
msgstr "Guardar como..."
|
||||
|
||||
#: ../glade/glade-db-model.c:140
|
||||
msgid "SQL Editor"
|
||||
msgstr "Editor SQL"
|
||||
|
||||
#: ../glade/glade-db-model.c:74 ../glade/glade-eprop-model.c:165
|
||||
#: ../glade/glade-db-model.c:145 ../glade/glade-eprop-model.c:152
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: ../glade/glade-db-model.c:184
|
||||
#: ../glade/glade-db-model.c:203
|
||||
msgid "Save project"
|
||||
msgstr "Guardar proyecto"
|
||||
|
||||
#: ../glade/glade-db-model.c:274
|
||||
msgid "Open the SQL Editor"
|
||||
msgstr "Abrir el Editor SQL"
|
||||
|
||||
#: ../glade/glade-db-model.c:289
|
||||
#: ../glade/glade-db-model.c:354 ../glade/glade-sql-batch.c:185
|
||||
msgid "Select a GvnParam"
|
||||
msgstr "Elige un GvnParam"
|
||||
|
||||
#: ../glade/glade-db-model.c:422 ../glade/glade-sql-batch.c:253
|
||||
msgid "Select the parameter from a list"
|
||||
msgstr "Eligir un parametro de una lista"
|
||||
|
||||
#: ../glade/glade-db-model.c:440 ../glade/glade-sql-batch.c:271
|
||||
msgid "You need to create at least one GvnParam or derived object"
|
||||
msgstr "Necesitas crear por lo menos un GvnParam o algun objeto derivado"
|
||||
|
||||
#: ../glade/glade-db-model.c:594
|
||||
msgid "<b>Add or remove links</b>"
|
||||
msgstr "<b>Añadir o quitar enlaces</b>"
|
||||
|
||||
#: ../glade/glade-db-model.c:303
|
||||
#: ../glade/glade-db-model.c:629
|
||||
msgid "Column"
|
||||
msgstr "Columna"
|
||||
|
||||
#: ../glade/glade-db-model.c:646
|
||||
msgctxt "Verb"
|
||||
msgid "Link"
|
||||
msgstr "Enlazar"
|
||||
|
||||
#: ../glade/glade-db-model.c:365
|
||||
msgid "<b>Add or remove holders</b>"
|
||||
msgstr "<b>Añadir o quitar holders</b>"
|
||||
|
||||
#: ../glade/glade-db-model.c:440
|
||||
msgid "Select a GvnParam"
|
||||
msgstr "Elige un GvnParam"
|
||||
|
||||
#: ../glade/glade-db-model.c:497
|
||||
msgid "Select the parameter from a list"
|
||||
msgstr "Eligir un parametro de una lista"
|
||||
|
||||
#: ../glade/glade-db-model.c:515
|
||||
msgid "You need to create at least one GvnParam or derived object"
|
||||
msgstr "Necesitas crear por lo menos un GvnParam o algun objeto derivado"
|
||||
|
||||
#: ../glade/glade-db-model-editor.c:62
|
||||
#: ../glade/glade-db-model-editor.c:54
|
||||
msgid "List of parameters linked to the model"
|
||||
msgstr "Lista de parámetros vinculados al modelo"
|
||||
|
||||
#: ../glade/glade-db-model-editor.c:65
|
||||
msgid "List of SqlHolders and identifiers"
|
||||
msgstr "Lista de SqlHolders e identificadores"
|
||||
|
||||
#: ../glade/glade-eprop-model.c:128
|
||||
#: ../glade/glade-eprop-model.c:118
|
||||
msgid "Create and set a model for a DbModelHolder"
|
||||
msgstr "Crear y poner el modelo a un DbModelHolder"
|
||||
|
||||
#: ../glade/glade-eprop-model.c:160
|
||||
#: ../glade/glade-eprop-model.c:147
|
||||
msgid "Model configuration"
|
||||
msgstr "Configuración del modelo"
|
||||
|
||||
#: ../glade/glade-eprop-model.c:160
|
||||
msgid "Model properties configuration"
|
||||
msgstr "Configuración de propiedades del modelo"
|
||||
|
||||
#: ../glade/glade-eprop-model.c:243
|
||||
#: ../glade/glade-eprop-model.c:218
|
||||
msgid "Select a VnModel for the property"
|
||||
msgstr "Elige un VnModel para la propiedad"
|
||||
|
||||
#: ../glade/glade-eprop-model.c:264 ../glade/glade-eprop-model.c:310
|
||||
#: ../glade/glade-eprop-model.c:239 ../glade/glade-eprop-model.c:285
|
||||
msgid "New Model"
|
||||
msgstr "Nuevo Modelo"
|
||||
|
||||
#: ../glade/glade-eprop-model.c:305
|
||||
#: ../glade/glade-eprop-model.c:280
|
||||
msgid "Edit Model"
|
||||
msgstr "Editar Modelo"
|
||||
|
||||
|
@ -1252,6 +1245,14 @@ msgstr "%s debe tener \"Modelo\" asignado. %s"
|
|||
msgid "Automatic generation of params for %s"
|
||||
msgstr "Generación automatica de params para %s"
|
||||
|
||||
#: ../glade/glade-sql-batch.c:79
|
||||
msgid "List of items"
|
||||
msgstr "Lista de elementos"
|
||||
|
||||
#: ../glade/glade-sql-batch.c:401
|
||||
msgid "<b>Add or remove items</b>"
|
||||
msgstr "<b>Añadir o quitar elementos</b>"
|
||||
|
||||
#: ../glade/vn.xml.h:1
|
||||
msgid "The model held by the object"
|
||||
msgstr "La conexión empleada por el objeto"
|
||||
|
@ -1261,10 +1262,34 @@ msgid "Example"
|
|||
msgstr "Ejemplo"
|
||||
|
||||
#: ../module/data/example.xml.h:2
|
||||
msgid ""
|
||||
"\n"
|
||||
"\t\t\tConsulter\n"
|
||||
"\t\t"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"\t\t\tConsultor\n"
|
||||
"\t\t"
|
||||
|
||||
#: ../module/data/example.xml.h:5
|
||||
msgid ""
|
||||
"\n"
|
||||
"\t\t\tCustomer\n"
|
||||
"\t\t"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"\t\t\tCliente\n"
|
||||
"\t\t"
|
||||
|
||||
#: ../module/data/example-menu.xml.h:1
|
||||
msgid "Consulter"
|
||||
msgstr "Consultor"
|
||||
|
||||
#: ../module/data/consulter.glade.h:1
|
||||
#: ../module/data/example-menu.xml.h:2
|
||||
msgid "Customer"
|
||||
msgstr "Cliente"
|
||||
|
||||
#: ../module/data/consulter.glade.h:1 ../module/data/consulter-menu.xml.h:1
|
||||
msgid "Send"
|
||||
msgstr "Enviar"
|
||||
|
||||
|
@ -1272,7 +1297,7 @@ msgstr "Enviar"
|
|||
msgid "Send the current query"
|
||||
msgstr "Enviar la consulta actual"
|
||||
|
||||
#: ../module/data/consulter.glade.h:3
|
||||
#: ../module/data/consulter.glade.h:3 ../module/data/consulter-menu.xml.h:2
|
||||
msgid "Clean"
|
||||
msgstr "Limpiar"
|
||||
|
||||
|
@ -1289,16 +1314,58 @@ msgid "Query:"
|
|||
msgstr "Consulta:"
|
||||
|
||||
#: ../module/data/consulter.glade.h:7
|
||||
msgid "Immediate changes"
|
||||
msgstr "Cambios inmediatos"
|
||||
|
||||
#: ../module/src/vn-consulter.c:234
|
||||
msgid "Type or select a query"
|
||||
msgstr "Escribe o elige una consulta"
|
||||
|
||||
#: ../module/src/vn-consulter.c:236
|
||||
msgid "Message"
|
||||
msgstr "Mensaje"
|
||||
#: ../module/data/consulter.glade.h:8
|
||||
msgid "Log"
|
||||
msgstr "Registro"
|
||||
|
||||
#: ../module/data/consulter.glade.h:9
|
||||
msgid "Immediate changes"
|
||||
msgstr "Cambios inmediatos"
|
||||
|
||||
#~ msgid "Set property value"
|
||||
#~ msgstr "Establecer valor"
|
||||
|
||||
#~ msgid "Climb rate"
|
||||
#~ msgstr "Tasa de subida"
|
||||
|
||||
#~ msgid "The acceleration rate when you hold down a button."
|
||||
#~ msgstr "La tasa de aceleración cuando se mantiene apretado el botón."
|
||||
|
||||
#~ msgid "Minimum value"
|
||||
#~ msgstr "Valor mínimo"
|
||||
|
||||
#~ msgid "The minimum value of the internal adjustment."
|
||||
#~ msgstr "Valor mínimo del ajuste interno."
|
||||
|
||||
#~ msgid "Maximum value"
|
||||
#~ msgstr "Valor máximo"
|
||||
|
||||
#~ msgid "The maximum value of the internal adjustment."
|
||||
#~ msgstr "Valor máximo del ajuste interno."
|
||||
|
||||
#~ msgid "Step Increment"
|
||||
#~ msgstr "Incremento del paso"
|
||||
|
||||
#~ msgid "The step increment of the internal adjustment"
|
||||
#~ msgstr "El incremento del paso del ajuste interno"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Mensaje"
|
||||
|
||||
#~ msgid "<b>Add or remove holders</b>"
|
||||
#~ msgstr "<b>Añadir o quitar holders</b>"
|
||||
|
||||
#~ msgid "List of SqlHolders and identifiers"
|
||||
#~ msgstr "Lista de SqlHolders e identificadores"
|
||||
|
||||
#~ msgid "Save"
|
||||
#~ msgstr "Guardar"
|
||||
|
||||
#~ msgid "Model properties configuration"
|
||||
#~ msgstr "Configuración de propiedades del modelo"
|
||||
|
||||
#~ msgid "The statement to execute"
|
||||
#~ msgstr "La instrucción a ejecutar"
|
||||
|
@ -1309,21 +1376,9 @@ msgstr "Mensaje"
|
|||
#~ msgid "[user-name]"
|
||||
#~ msgstr "[user-name]"
|
||||
|
||||
#~ msgid "_Logout"
|
||||
#~ msgstr "_Desconectar"
|
||||
|
||||
#~ msgid "Logout"
|
||||
#~ msgstr "Desconectar"
|
||||
|
||||
#~ msgid "_Quit"
|
||||
#~ msgstr "_Salir"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Salir"
|
||||
|
||||
#~ msgid "_About"
|
||||
#~ msgstr "_Acerca de"
|
||||
|
||||
#~ msgid "_File"
|
||||
#~ msgstr "_Archivo"
|
||||
|
||||
|
@ -1336,9 +1391,6 @@ msgstr "Mensaje"
|
|||
#~ msgid "Reconnect"
|
||||
#~ msgstr "Reconectar"
|
||||
|
||||
#~ msgid "_Close"
|
||||
#~ msgstr "_Cerrar"
|
||||
|
||||
#~ msgid "_View"
|
||||
#~ msgstr "_Ver"
|
||||
|
||||
|
@ -1353,15 +1405,6 @@ msgstr "Mensaje"
|
|||
#~ msgid "Tool_bar"
|
||||
#~ msgstr "_Barra de herramientas"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "\t\t\tCustomer\n"
|
||||
#~ "\t\t"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "\t\t\tCliente\n"
|
||||
#~ "\t\t"
|
||||
|
||||
#~ msgid "Err"
|
||||
#~ msgstr "Err"
|
||||
|
||||
|
|
413
po/nl.po
413
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-07-07 15:57+0200\n"
|
||||
"POT-Creation-Date: 2014-07-15 14:27+0200\n"
|
||||
"PO-Revision-Date: 2012-10-09 11:38+0200\n"
|
||||
"Last-Translator: Alejandro T. Colombini Gómez <atcolombini@verdnatura.es>\n"
|
||||
"Language-Team: Dutch\n"
|
||||
|
@ -33,7 +33,7 @@ msgstr ""
|
|||
msgid "Incompatible type for this param"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:252 ../vn/vn-field.c:573
|
||||
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:255 ../vn/vn-field.c:576
|
||||
msgid "Value"
|
||||
msgstr ""
|
||||
|
||||
|
@ -49,7 +49,7 @@ msgstr ""
|
|||
msgid "The master GvnParam of this parameter"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:457 ../db/db-iterator.c:1055
|
||||
#: ../gvn/gvn-param.c:457 ../db/db-iterator.c:1062
|
||||
msgid "Mode"
|
||||
msgstr ""
|
||||
|
||||
|
@ -73,15 +73,15 @@ msgstr ""
|
|||
msgid "The spec of the parameter"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:601
|
||||
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:604
|
||||
msgid "Glib Type"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:602
|
||||
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:605
|
||||
msgid "The type of the value"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:608 ../vn/vn-column.c:504
|
||||
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:611 ../vn/vn-column.c:507
|
||||
msgid "Editable"
|
||||
msgstr ""
|
||||
|
||||
|
@ -89,7 +89,7 @@ msgstr ""
|
|||
msgid "Whether the param value can be modified"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:615 ../vn/vn-column.c:511
|
||||
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:618 ../vn/vn-column.c:514
|
||||
msgid "Null"
|
||||
msgstr ""
|
||||
|
||||
|
@ -97,11 +97,11 @@ msgstr ""
|
|||
msgid "Whether the param value can be of type GVN_TYPE_NULL"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:622
|
||||
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:625
|
||||
msgid "Default Value"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:623
|
||||
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:626
|
||||
msgid "The default value"
|
||||
msgstr ""
|
||||
|
||||
|
@ -126,19 +126,19 @@ msgstr ""
|
|||
msgid "The character used for delimite the name of fields, tables..."
|
||||
msgstr ""
|
||||
|
||||
#: ../sql/sql-value.c:245 ../glade/glade-db-model.c:530
|
||||
#: ../sql/sql-value.c:248 ../glade/glade-db-model.c:638
|
||||
msgid "Param"
|
||||
msgstr ""
|
||||
|
||||
#: ../sql/sql-value.c:246
|
||||
#: ../sql/sql-value.c:249
|
||||
msgid "The param which is linked"
|
||||
msgstr ""
|
||||
|
||||
#: ../sql/sql-value.c:253
|
||||
#: ../sql/sql-value.c:256
|
||||
msgid "The value"
|
||||
msgstr ""
|
||||
|
||||
#: ../sql/sql-string.c:188 ../db/db-model.c:3311 ../db/db-request.c:449
|
||||
#: ../sql/sql-string.c:188 ../db/db-model.c:3315 ../db/db-request.c:449
|
||||
msgid "SQL"
|
||||
msgstr ""
|
||||
|
||||
|
@ -210,7 +210,7 @@ msgstr ""
|
|||
msgid "The function parameters"
|
||||
msgstr ""
|
||||
|
||||
#: ../sql/sql-holder.c:124 ../glade/glade-db-model.c:369
|
||||
#: ../sql/sql-holder.c:124 ../glade/glade-sql-batch.c:436
|
||||
msgid "Identifier"
|
||||
msgstr ""
|
||||
|
||||
|
@ -327,96 +327,96 @@ msgstr ""
|
|||
msgid "Can't allocate the needed memory"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-iterator.c:1056
|
||||
#: ../db/db-iterator.c:1063
|
||||
msgid "The mode in which the iterator is working"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-iterator.c:1063
|
||||
#: ../db/db-iterator.c:1070
|
||||
msgid "Remember selection"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-iterator.c:1064
|
||||
#: ../db/db-iterator.c:1071
|
||||
msgid "Wether to rememeber the selection when model is refreshed"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3285 ../db/db-request.c:442 ../vn/vn-gui.c:1560
|
||||
#: ../db/db-model.c:3289 ../db/db-request.c:442 ../vn/vn-gui.c:1472
|
||||
#: ../vn/vn-form.c:245
|
||||
msgid "Connection"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3286
|
||||
#: ../db/db-model.c:3290
|
||||
msgid "The DbConn that manages the connection to the database"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3293
|
||||
#: ../db/db-model.c:3297
|
||||
msgid "Statement"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3294
|
||||
#: ../db/db-model.c:3298
|
||||
msgid "The statement which retrieves the data"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3301
|
||||
#: ../db/db-model.c:3305
|
||||
msgid "Use file"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3302
|
||||
#: ../db/db-model.c:3306
|
||||
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:3312
|
||||
#: ../db/db-model.c:3316
|
||||
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:3321
|
||||
#: ../db/db-model.c:3325
|
||||
msgid "Main Table"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3322
|
||||
#: ../db/db-model.c:3326
|
||||
msgid "The main table of the model"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3329
|
||||
#: ../db/db-model.c:3333
|
||||
msgid "Update flags"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3330
|
||||
#: ../db/db-model.c:3334
|
||||
msgid "The flags that indicate how a model can be modified"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3338
|
||||
#: ../db/db-model.c:3342
|
||||
msgid "Result position"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3339
|
||||
#: ../db/db-model.c:3343
|
||||
msgid ""
|
||||
"The position where the query that will fill the model will be placed in a "
|
||||
"multi-query"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3349
|
||||
#: ../db/db-model.c:3353
|
||||
msgid "Partial delete"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3350
|
||||
#: ../db/db-model.c:3354
|
||||
msgid ""
|
||||
"When a row is deleted set all the fields from the table to null rather than "
|
||||
"delete it."
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3358
|
||||
#: ../db/db-model.c:3362
|
||||
msgid "Batch"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model.c:3359
|
||||
#: ../db/db-model.c:3363
|
||||
msgid "The batch assigned to the model"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-model-holder.c:71 ../db/db-calc.c:329
|
||||
#: ../db/db-model-holder.c:71 ../db/db-calc.c:405
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
|
||||
|
@ -424,43 +424,52 @@ msgstr ""
|
|||
msgid "The model used by the holder"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:330
|
||||
#: ../db/db-calc.c:406
|
||||
msgid "The model where the operations will be applied"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:337
|
||||
#: ../db/db-calc.c:413
|
||||
msgid "Operation type"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:338
|
||||
#: ../db/db-calc.c:414
|
||||
msgid "The type of the operation applied over the function"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:346
|
||||
#: ../db/db-calc.c:422
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:347
|
||||
#: ../db/db-calc.c:423
|
||||
msgid "The function to execute"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:353
|
||||
#: ../db/db-calc.c:429
|
||||
msgid "Data"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:354
|
||||
#: ../db/db-calc.c:430
|
||||
msgid "The user provided data for the function"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:360 ../glade/glade-db-model.c:293
|
||||
msgid "Column"
|
||||
#: ../db/db-calc.c:436 ../db/db-param.c:258 ../vn/vn-column.c:493
|
||||
msgid "Column index"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:361
|
||||
#: ../db/db-calc.c:437
|
||||
msgid "A column to apply the operations over it"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-param.c:251 ../vn/vn-grid.c:518 ../vn/vn-field.c:587
|
||||
#: ../db/db-calc.c:446 ../db/db-param.c:265 ../vn/vn-field.c:597
|
||||
#: ../vn/vn-column.c:500
|
||||
msgid "Column name"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-calc.c:447
|
||||
msgid "A column name to apply the operations over it"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-param.c:251 ../vn/vn-grid.c:421 ../vn/vn-field.c:590
|
||||
msgid "Iterator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -468,19 +477,11 @@ msgstr ""
|
|||
msgid "The iterator owner of param"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-param.c:258 ../vn/vn-column.c:490
|
||||
msgid "Column index"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-param.c:259
|
||||
msgid "The referenced column index"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-param.c:265 ../vn/vn-field.c:594 ../vn/vn-column.c:497
|
||||
msgid "Column name"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-param.c:266 ../vn/vn-column.c:498
|
||||
#: ../db/db-param.c:266 ../vn/vn-column.c:501
|
||||
msgid "The referenced column name"
|
||||
msgstr ""
|
||||
|
||||
|
@ -521,7 +522,7 @@ msgid "The path where query files are located"
|
|||
msgstr ""
|
||||
|
||||
#: ../db/db-conn.c:1062 ../db/db-file-loader.c:716
|
||||
#: ../vn/column/vn-column-image.c:493
|
||||
#: ../vn/column/vn-column-image.c:498
|
||||
msgid "Host"
|
||||
msgstr ""
|
||||
|
||||
|
@ -584,11 +585,11 @@ msgstr ""
|
|||
msgid "Unknown content length of file %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-file-loader.c:717 ../vn/column/vn-column-image.c:494
|
||||
#: ../db/db-file-loader.c:717 ../vn/column/vn-column-image.c:499
|
||||
msgid "The host web server name to get the images"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-file-loader.c:724 ../vn/column/vn-column-image.c:501
|
||||
#: ../db/db-file-loader.c:724 ../vn/column/vn-column-image.c:506
|
||||
msgid "Path"
|
||||
msgstr ""
|
||||
|
||||
|
@ -614,63 +615,63 @@ msgstr ""
|
|||
msgid "The maximal size for the contents of the cache directory"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:632
|
||||
#: ../vn/vn-gui.c:545
|
||||
msgid "Connection has been lost. Do you want to reconnect?"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:639
|
||||
#: ../vn/vn-gui.c:552
|
||||
msgid "An error occurred in the connection."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:642
|
||||
#: ../vn/vn-gui.c:555
|
||||
msgid "Database error"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:649
|
||||
#: ../vn/vn-gui.c:562
|
||||
msgid "Unknown error"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:998
|
||||
#: ../vn/vn-gui.c:910
|
||||
msgid "Closing connection"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1000
|
||||
#: ../vn/vn-gui.c:912
|
||||
msgid "Transaction started"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1002
|
||||
#: ../vn/vn-gui.c:914
|
||||
msgid "Connecting"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1004
|
||||
#: ../vn/vn-gui.c:916
|
||||
msgid "Connection lost"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1006
|
||||
#: ../vn/vn-gui.c:918
|
||||
msgid "Connection closed"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1008 ../vn/field/vn-http-image.c:119
|
||||
#: ../vn/vn-gui.c:920 ../vn/field/vn-http-image.c:119
|
||||
msgid "Loading"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1010
|
||||
#: ../vn/vn-gui.c:922
|
||||
msgid "Ready"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1561
|
||||
#: ../vn/vn-gui.c:1473
|
||||
msgid "The connection used by Gui"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1567
|
||||
#: ../vn/vn-gui.c:1479
|
||||
msgid "Application"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-gui.c:1568
|
||||
#: ../vn/vn-gui.c:1480
|
||||
msgid "The application handler for the entire program"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-grid.c:519
|
||||
#: ../vn/vn-grid.c:422
|
||||
msgid "The iterator used by VnGrid"
|
||||
msgstr ""
|
||||
|
||||
|
@ -722,19 +723,19 @@ msgstr ""
|
|||
msgid "Move to the last row"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-handler.c:529
|
||||
#: ../vn/vn-handler.c:531
|
||||
msgid "Show flags"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-handler.c:530
|
||||
#: ../vn/vn-handler.c:532
|
||||
msgid "Sets the buttons that will be shown on the interface"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-handler.c:537
|
||||
#: ../vn/vn-handler.c:539
|
||||
msgid "Simple record"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-handler.c:538
|
||||
#: ../vn/vn-handler.c:540
|
||||
msgid "Sets if it is used to handle a iterator with a single record"
|
||||
msgstr ""
|
||||
|
||||
|
@ -779,75 +780,75 @@ msgstr ""
|
|||
msgid "The application identifier"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:574
|
||||
#: ../vn/vn-field.c:577
|
||||
msgid "The current value of the field"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:580 ../glade/glade-db-iterator.c:71
|
||||
#: ../glade/glade-db-iterator.c:116
|
||||
#: ../vn/vn-field.c:583 ../glade/glade-db-iterator.c:71
|
||||
#: ../glade/glade-db-iterator.c:116 ../glade/glade-sql-batch.c:445
|
||||
msgid "Parameter"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:581
|
||||
#: ../vn/vn-field.c:584
|
||||
msgid "The param where the field can read/write its value"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:588
|
||||
#: ../vn/vn-field.c:591
|
||||
msgid "The iterator used to get the field param"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:595
|
||||
#: ../vn/vn-field.c:598
|
||||
msgid "The column name on the iterator"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:609
|
||||
#: ../vn/vn-field.c:612
|
||||
msgid "Whether the field value is user editable"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:616 ../vn/vn-column.c:512
|
||||
#: ../vn/vn-field.c:619 ../vn/vn-column.c:515
|
||||
msgid "Whether the field value can be of type GVN_TYPE_NULL"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:629 ../vn/vn-column.c:525
|
||||
#: ../vn/vn-field.c:632 ../vn/vn-column.c:528
|
||||
msgid "Style function"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:630
|
||||
#: ../vn/vn-field.c:633
|
||||
msgid ""
|
||||
"A VnFieldStyleFunc to set the properties of each field depending on its value"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-entry.c:156 ../vn/field/vn-date-chooser.c:489
|
||||
#: ../vn/field/vn-label.c:114 ../vn/column/vn-column-entry.c:122
|
||||
#: ../vn/field/vn-entry.c:156 ../vn/field/vn-date-chooser.c:477
|
||||
#: ../vn/field/vn-label.c:115 ../vn/column/vn-column-entry.c:127
|
||||
msgid "Format"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-entry.c:157 ../vn/field/vn-label.c:115
|
||||
#: ../vn/column/vn-column-entry.c:123
|
||||
#: ../vn/field/vn-entry.c:157 ../vn/field/vn-label.c:116
|
||||
#: ../vn/column/vn-column-entry.c:128
|
||||
msgid "The format string describing the output of the entry."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-spin.c:171 ../vn/column/vn-column-spin.c:246
|
||||
#: ../vn/field/vn-spin.c:171 ../vn/column/vn-column-spin.c:201
|
||||
msgid "Digits"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-spin.c:172 ../vn/column/vn-column-spin.c:247
|
||||
#: ../vn/field/vn-spin.c:172 ../vn/column/vn-column-spin.c:202
|
||||
msgid "The number of decimal places to display."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-combo.c:286 ../vn/column/vn-column-combo.c:333
|
||||
#: ../vn/field/vn-combo.c:286 ../vn/column/vn-column-combo.c:340
|
||||
msgid "Index column"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-combo.c:287 ../vn/column/vn-column-combo.c:334
|
||||
#: ../vn/field/vn-combo.c:287 ../vn/column/vn-column-combo.c:341
|
||||
msgid "The column index of the model"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-combo.c:293 ../vn/column/vn-column-combo.c:340
|
||||
#: ../vn/field/vn-combo.c:293 ../vn/column/vn-column-combo.c:347
|
||||
msgid "Show column"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-combo.c:294 ../vn/column/vn-column-combo.c:341
|
||||
#: ../vn/field/vn-combo.c:294 ../vn/column/vn-column-combo.c:348
|
||||
msgid "The column of the model shown by combo"
|
||||
msgstr ""
|
||||
|
||||
|
@ -859,34 +860,34 @@ msgstr ""
|
|||
msgid "The name of the field used for the search"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:438
|
||||
#: ../vn/field/vn-date-chooser.c:426
|
||||
msgid "Change date"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:490
|
||||
#: ../vn/field/vn-date-chooser.c:478
|
||||
msgid "The date format string describing the order of the elements."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:491
|
||||
#: ../vn/field/vn-date-chooser.c:479
|
||||
msgctxt "Default date format string"
|
||||
msgid "%a, %d %b %Y"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:497
|
||||
#: ../vn/field/vn-date-chooser.c:485
|
||||
msgid "Show time"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:498
|
||||
#: ../vn/field/vn-date-chooser.c:486
|
||||
msgid ""
|
||||
"Whether to show the hour, minute and second fields to set the time of the "
|
||||
"day in the popup."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:506
|
||||
#: ../vn/field/vn-date-chooser.c:494
|
||||
msgid "Show date"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:507
|
||||
#: ../vn/field/vn-date-chooser.c:495
|
||||
msgid "Whether to show the calendar to set the date in the popup."
|
||||
msgstr ""
|
||||
|
||||
|
@ -908,7 +909,7 @@ msgstr ""
|
|||
msgid "No image set"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-http-image.c:211 ../vn/column/vn-column-image.c:531
|
||||
#: ../vn/field/vn-http-image.c:211 ../vn/column/vn-column-image.c:536
|
||||
msgid "File loader"
|
||||
msgstr ""
|
||||
|
||||
|
@ -932,92 +933,60 @@ msgstr ""
|
|||
msgid "A GBytes structure with the image data"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-column.c:491
|
||||
#: ../vn/vn-column.c:494
|
||||
msgid "The column index in the model"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-column.c:505
|
||||
#: ../vn/vn-column.c:508
|
||||
msgid "Whether the column values are editable"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-column.c:518
|
||||
#: ../vn/vn-column.c:521
|
||||
msgid "Tab index"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-column.c:519
|
||||
#: ../vn/vn-column.c:522
|
||||
msgid "Order in which the tab selects the columns for edition"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-column.c:526
|
||||
#: ../vn/vn-column.c:529
|
||||
msgid ""
|
||||
"A VnColumnStyleFunc to set the properties of each cell depending on its value"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:238
|
||||
msgid "Climb rate"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:239
|
||||
msgid "The acceleration rate when you hold down a button."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:254
|
||||
msgid "Minimum value"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:255
|
||||
msgid "The minimum value of the internal adjustment."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:262
|
||||
msgid "Maximum value"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:263
|
||||
msgid "The maximum value of the internal adjustment."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:270
|
||||
msgid "Step Increment"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:271
|
||||
msgid "The step increment of the internal adjustment"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-combo.c:347
|
||||
#: ../vn/column/vn-column-combo.c:354
|
||||
msgid "Sort column"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-combo.c:348
|
||||
#: ../vn/column/vn-column-combo.c:355
|
||||
msgid "The field number of the Grid model used to sort the column"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-image.c:502
|
||||
#: ../vn/column/vn-column-image.c:507
|
||||
msgid "Base path from the host where the images will be downloaded"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-image.c:509
|
||||
#: ../vn/column/vn-column-image.c:514
|
||||
msgid "Tooltip path"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-image.c:510
|
||||
#: ../vn/column/vn-column-image.c:515
|
||||
msgid ""
|
||||
"Prefix for the path of the images to be shown in the tooltip. Starting after "
|
||||
"the path of the column and appending the name on each cell"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-image.c:519
|
||||
#: ../vn/column/vn-column-image.c:524
|
||||
msgid "Tooltip size"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-image.c:520
|
||||
#: ../vn/column/vn-column-image.c:525
|
||||
msgid ""
|
||||
"Size of the bigger side of the tooltip images, the another side will be "
|
||||
"scaled accordingly and smaller images won't be scaled"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/column/vn-column-image.c:532
|
||||
#: ../vn/column/vn-column-image.c:537
|
||||
msgid "An optional file loader, if it's NULL the column will create one"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1097,13 +1066,13 @@ msgid ""
|
|||
"02111-1307 USA."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/gui/date-chooser.glade.h:1 ../glade/glade-db-model.c:72
|
||||
#: ../glade/glade-eprop-model.c:163
|
||||
#: ../vn/gui/date-chooser.glade.h:1 ../glade/glade-db-model.c:143
|
||||
#: ../glade/glade-eprop-model.c:150
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/gui/date-chooser.glade.h:2 ../glade/glade-db-model.c:73
|
||||
#: ../glade/glade-eprop-model.c:164
|
||||
#: ../vn/gui/date-chooser.glade.h:2 ../glade/glade-db-model.c:144
|
||||
#: ../glade/glade-eprop-model.c:151
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1111,76 +1080,100 @@ msgstr ""
|
|||
msgid "Now"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/gui/menu.glade.h:1
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/gui/menu.glade.h:2
|
||||
msgid "Logout"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/gui/menu.glade.h:3
|
||||
msgid "Connect"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/gui/menu.glade.h:4
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/gui/menu.glade.h:5
|
||||
msgid "Quit"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/gui/menu.glade.h:6
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:37
|
||||
msgid "New SQL statement"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:69
|
||||
#: ../glade/glade-db-model.c:100
|
||||
msgid "Save as..."
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:140
|
||||
msgid "SQL Editor"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:74 ../glade/glade-eprop-model.c:165
|
||||
#: ../glade/glade-db-model.c:145 ../glade/glade-eprop-model.c:152
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:184
|
||||
#: ../glade/glade-db-model.c:203
|
||||
msgid "Save project"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:274
|
||||
msgid "Open the SQL Editor"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:289
|
||||
#: ../glade/glade-db-model.c:354 ../glade/glade-sql-batch.c:185
|
||||
msgid "Select a GvnParam"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:422 ../glade/glade-sql-batch.c:253
|
||||
msgid "Select the parameter from a list"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:440 ../glade/glade-sql-batch.c:271
|
||||
msgid "You need to create at least one GvnParam or derived object"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:594
|
||||
msgid "<b>Add or remove links</b>"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:303
|
||||
#: ../glade/glade-db-model.c:629
|
||||
msgid "Column"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:646
|
||||
msgctxt "Verb"
|
||||
msgid "Link"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:365
|
||||
msgid "<b>Add or remove holders</b>"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:440
|
||||
msgid "Select a GvnParam"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:497
|
||||
msgid "Select the parameter from a list"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model.c:515
|
||||
msgid "You need to create at least one GvnParam or derived object"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model-editor.c:62
|
||||
#: ../glade/glade-db-model-editor.c:54
|
||||
msgid "List of parameters linked to the model"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-db-model-editor.c:65
|
||||
msgid "List of SqlHolders and identifiers"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-eprop-model.c:128
|
||||
#: ../glade/glade-eprop-model.c:118
|
||||
msgid "Create and set a model for a DbModelHolder"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-eprop-model.c:160
|
||||
#: ../glade/glade-eprop-model.c:147
|
||||
msgid "Model configuration"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-eprop-model.c:160
|
||||
msgid "Model properties configuration"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-eprop-model.c:243
|
||||
#: ../glade/glade-eprop-model.c:218
|
||||
msgid "Select a VnModel for the property"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-eprop-model.c:264 ../glade/glade-eprop-model.c:310
|
||||
#: ../glade/glade-eprop-model.c:239 ../glade/glade-eprop-model.c:285
|
||||
msgid "New Model"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-eprop-model.c:305
|
||||
#: ../glade/glade-eprop-model.c:280
|
||||
msgid "Edit Model"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1211,6 +1204,14 @@ msgstr ""
|
|||
msgid "Automatic generation of params for %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-sql-batch.c:79
|
||||
msgid "List of items"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/glade-sql-batch.c:401
|
||||
msgid "<b>Add or remove items</b>"
|
||||
msgstr ""
|
||||
|
||||
#: ../glade/vn.xml.h:1
|
||||
msgid "The model held by the object"
|
||||
msgstr ""
|
||||
|
@ -1220,10 +1221,28 @@ msgid "Example"
|
|||
msgstr ""
|
||||
|
||||
#: ../module/data/example.xml.h:2
|
||||
msgid ""
|
||||
"\n"
|
||||
"\t\t\tConsulter\n"
|
||||
"\t\t"
|
||||
msgstr ""
|
||||
|
||||
#: ../module/data/example.xml.h:5
|
||||
msgid ""
|
||||
"\n"
|
||||
"\t\t\tCustomer\n"
|
||||
"\t\t"
|
||||
msgstr ""
|
||||
|
||||
#: ../module/data/example-menu.xml.h:1
|
||||
msgid "Consulter"
|
||||
msgstr ""
|
||||
|
||||
#: ../module/data/consulter.glade.h:1
|
||||
#: ../module/data/example-menu.xml.h:2
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
#: ../module/data/consulter.glade.h:1 ../module/data/consulter-menu.xml.h:1
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1231,7 +1250,7 @@ msgstr ""
|
|||
msgid "Send the current query"
|
||||
msgstr ""
|
||||
|
||||
#: ../module/data/consulter.glade.h:3
|
||||
#: ../module/data/consulter.glade.h:3 ../module/data/consulter-menu.xml.h:2
|
||||
msgid "Clean"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1248,13 +1267,13 @@ msgid "Query:"
|
|||
msgstr ""
|
||||
|
||||
#: ../module/data/consulter.glade.h:7
|
||||
msgid "Immediate changes"
|
||||
msgstr ""
|
||||
|
||||
#: ../module/src/vn-consulter.c:234
|
||||
msgid "Type or select a query"
|
||||
msgstr ""
|
||||
|
||||
#: ../module/src/vn-consulter.c:236
|
||||
msgid "Message"
|
||||
#: ../module/data/consulter.glade.h:8
|
||||
msgid "Log"
|
||||
msgstr ""
|
||||
|
||||
#: ../module/data/consulter.glade.h:9
|
||||
msgid "Immediate changes"
|
||||
msgstr ""
|
||||
|
|
|
@ -17,7 +17,6 @@ vn_include_HEADERS = \
|
|||
vn-grid.h \
|
||||
vn-handler.h \
|
||||
vn-set.h \
|
||||
vn-batch.h \
|
||||
field/field.h \
|
||||
column/column.h
|
||||
|
||||
|
@ -48,7 +47,9 @@ glade_files = \
|
|||
$(top_srcdir)/vn/glade/vn-iterator.h \
|
||||
$(top_srcdir)/vn/glade/vn-iterator.c \
|
||||
$(top_srcdir)/vn/glade/vn-model.h \
|
||||
$(top_srcdir)/vn/glade/vn-model.c
|
||||
$(top_srcdir)/vn/glade/vn-model.c \
|
||||
$(top_srcdir)/vn/glade/vn-batch.h \
|
||||
$(top_srcdir)/vn/glade/vn-batch.c
|
||||
libvn_la_SOURCES = \
|
||||
$(libvn_files) \
|
||||
$(glade_files)
|
||||
|
|
|
@ -17,124 +17,118 @@
|
|||
|
||||
#include "vn-batch.h"
|
||||
|
||||
/**
|
||||
* SECTION: vn-batch
|
||||
* @Short_description: a group of objects
|
||||
* @Title: VnBatch
|
||||
*
|
||||
* A group of GObjects.
|
||||
*/
|
||||
|
||||
static void vn_batch_buildable_interface_init (GtkBuildableIface * iface);
|
||||
|
||||
G_DEFINE_TYPE_WITH_CODE (VnBatch, vn_batch, G_TYPE_OBJECT,
|
||||
G_DEFINE_TYPE_WITH_CODE (VnBatch, vn_batch, SQL_TYPE_BATCH,
|
||||
G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
|
||||
vn_batch_buildable_interface_init)
|
||||
);
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Methods
|
||||
/* GtkBuildable custom tag implementation:
|
||||
* <items>
|
||||
* <item id="identifier" param="param-id"/>
|
||||
* ...
|
||||
* </items>
|
||||
*/
|
||||
|
||||
/**
|
||||
* vn_batch_add:
|
||||
* @obj: a #VnBatch
|
||||
* @child: a #GObject
|
||||
*
|
||||
* Adds a child identified whith @id to the group.
|
||||
**/
|
||||
void vn_batch_add (VnBatch * obj, GObject * child)
|
||||
typedef struct
|
||||
{
|
||||
g_return_if_fail (VN_IS_BATCH (obj));
|
||||
g_return_if_fail (G_IS_OBJECT (child));
|
||||
GtkBuilder * builder;
|
||||
SqlBatch * batch;
|
||||
GSList * ids;
|
||||
GSList * params;
|
||||
}
|
||||
VnBatchData;
|
||||
|
||||
obj->objects = g_list_prepend (obj->objects, child);
|
||||
obj->count++;
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ GtkBuildable
|
||||
|
||||
static void vn_batch_start_element (GMarkupParseContext * context,
|
||||
const gchar * element, const gchar ** names,
|
||||
const gchar ** values, gpointer data, GError ** err)
|
||||
{
|
||||
guint i;
|
||||
VnBatchData * d = data;
|
||||
|
||||
if (!g_strcmp0 (element, "item"))
|
||||
{
|
||||
for (i = 0; names[i]; i++)
|
||||
if (!g_strcmp0 (names[i], "id"))
|
||||
d->ids = g_slist_prepend (d->ids, g_strdup (values[i]));
|
||||
else if (!g_strcmp0 (names[i], "param"))
|
||||
d->params = g_slist_prepend (d->params, g_strdup (values[i]));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* vn_batch_remove:
|
||||
* @obj: a #VnBatch
|
||||
* @child: a #GObject contained by @obj
|
||||
*
|
||||
* Removes a child from the group.
|
||||
**/
|
||||
void vn_batch_remove (VnBatch * obj, GObject * child)
|
||||
static const GMarkupParser vn_batch_parser =
|
||||
{
|
||||
g_return_if_fail (VN_IS_BATCH (obj));
|
||||
vn_batch_start_element
|
||||
};
|
||||
|
||||
obj->objects = g_list_remove (obj->objects, child);
|
||||
obj->count--;
|
||||
static gboolean vn_batch_buildable_custom_tag_start (GtkBuildable * buildable,
|
||||
GtkBuilder * builder, GObject * child, const gchar * tag,
|
||||
GMarkupParser * parser, gpointer * data)
|
||||
{
|
||||
if (child)
|
||||
return FALSE;
|
||||
|
||||
if (!g_strcmp0 (tag, "items"))
|
||||
{
|
||||
VnBatchData * data_ptr = g_slice_new (VnBatchData);
|
||||
data_ptr->builder = builder;
|
||||
data_ptr->batch = SQL_BATCH (buildable);
|
||||
data_ptr->ids = NULL;
|
||||
data_ptr->params = NULL;
|
||||
*data = data_ptr;
|
||||
*parser = vn_batch_parser;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
g_warning ("Unknown custom batch tag: %s", tag);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* vn_batch_get_objects_list:
|
||||
* @obj: a #VnBatch
|
||||
*
|
||||
* Returns all the #GObject<!-- -->s in @obj, copying the list. This method is
|
||||
* mainly for internal use, use vn_batch_get_objects() instead if you don't need
|
||||
* to do further use of the list of objects.
|
||||
*
|
||||
* Return value: (transfer container) (element-type GObject): a #GList with all
|
||||
* the objects, that must be freed with #g_list_free
|
||||
**/
|
||||
GList * vn_batch_get_objects_list (VnBatch * obj)
|
||||
static void vn_batch_buildable_custom_finished (GtkBuildable * buildable,
|
||||
GtkBuilder * builder, GObject * child, const gchar * tagname, gpointer data)
|
||||
{
|
||||
g_return_val_if_fail (VN_IS_BATCH (obj), NULL);
|
||||
GSList * i, * p;
|
||||
VnBatchData * d = data;
|
||||
|
||||
return g_list_copy (obj->objects);
|
||||
}
|
||||
g_return_if_fail (d->builder);
|
||||
|
||||
/**
|
||||
* vn_batch_get_objects:
|
||||
* @obj: a #VnBatch
|
||||
*
|
||||
* Returns all the #GObject<!-- -->s in @obj.
|
||||
*
|
||||
* Return value: (transfer none) (element-type GObject): a #GList with all
|
||||
* the objects, that must not be freed
|
||||
**/
|
||||
const GList * vn_batch_get_objects (VnBatch * obj)
|
||||
{
|
||||
g_return_val_if_fail (VN_IS_BATCH (obj), NULL);
|
||||
if (!g_strcmp0 (tagname, "items"))
|
||||
{
|
||||
for (i = d->ids, p = d->params;
|
||||
i && p;
|
||||
i = i->next, p = p->next)
|
||||
{
|
||||
gchar * id = i->data;
|
||||
GvnParam * param = GVN_PARAM (gtk_builder_get_object (d->builder, p->data));
|
||||
sql_batch_add_from_param (SQL_BATCH (buildable), id, param);
|
||||
}
|
||||
|
||||
return obj->objects;
|
||||
}
|
||||
|
||||
/**
|
||||
* vn_batch_get_length:
|
||||
* @obj: a #VnBatch
|
||||
*
|
||||
* Returns the number of childs currently contained in @obj.
|
||||
*
|
||||
* Return value: the number of childs
|
||||
**/
|
||||
guint vn_batch_get_length (VnBatch * obj)
|
||||
{
|
||||
g_return_val_if_fail (VN_IS_BATCH (obj), 0);
|
||||
|
||||
return obj->count;
|
||||
}
|
||||
|
||||
static void vn_batch_buildable_add_child (GtkBuildable * obj,
|
||||
GtkBuilder * builder, GObject * child, const gchar * type)
|
||||
{
|
||||
vn_batch_add (VN_BATCH (obj), child);
|
||||
g_slist_free_full (d->ids, g_free);
|
||||
g_slist_free_full (d->params, g_free);
|
||||
g_slice_free (VnBatchData, d);
|
||||
}
|
||||
}
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Class
|
||||
|
||||
static void vn_batch_buildable_interface_init (GtkBuildableIface * iface)
|
||||
{
|
||||
iface->custom_tag_start = vn_batch_buildable_custom_tag_start;
|
||||
iface->custom_finished = vn_batch_buildable_custom_finished;
|
||||
}
|
||||
|
||||
static void vn_batch_init (VnBatch * obj)
|
||||
{
|
||||
obj->objects = NULL;
|
||||
obj->count = 0;
|
||||
}
|
||||
|
||||
static void vn_batch_finalize (VnBatch * obj)
|
||||
{
|
||||
GObjectClass * parent = g_type_class_peek_parent (VN_BATCH_GET_CLASS (obj));
|
||||
|
||||
g_list_free (obj->objects);
|
||||
|
||||
parent->finalize (G_OBJECT (obj));
|
||||
G_OBJECT_CLASS (vn_batch_parent_class)->finalize (G_OBJECT (obj));
|
||||
}
|
||||
|
||||
static void vn_batch_class_init (VnBatchClass * klass)
|
||||
|
@ -142,8 +136,3 @@ static void vn_batch_class_init (VnBatchClass * klass)
|
|||
GObjectClass * k = G_OBJECT_CLASS (klass);
|
||||
k->finalize = (GObjectFinalizeFunc) vn_batch_finalize;
|
||||
}
|
||||
|
||||
static void vn_batch_buildable_interface_init (GtkBuildableIface * iface)
|
||||
{
|
||||
iface->add_child = vn_batch_buildable_add_child;
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#ifndef VN_BATCH_H
|
||||
#define VN_BATCH_H
|
||||
|
||||
#include <db/db.h>
|
||||
#include <sql/sql.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#define VN_TYPE_BATCH (vn_batch_get_type ())
|
||||
|
@ -31,15 +31,9 @@
|
|||
typedef struct _VnBatch VnBatch;
|
||||
typedef struct _VnBatchClass VnBatchClass;
|
||||
|
||||
/**
|
||||
* VnBatch:
|
||||
* @objects: (element-type GObject):
|
||||
**/
|
||||
struct _VnBatch
|
||||
{
|
||||
GObject parent;
|
||||
GList * objects;
|
||||
guint count;
|
||||
SqlBatch parent;
|
||||
};
|
||||
|
||||
struct _VnBatchClass
|
||||
|
@ -49,12 +43,4 @@ struct _VnBatchClass
|
|||
|
||||
GType vn_batch_get_type ();
|
||||
|
||||
void vn_batch_add (VnBatch * obj
|
||||
,GObject * child);
|
||||
void vn_batch_remove (VnBatch * obj
|
||||
,GObject * child);
|
||||
const GList * vn_batch_get_objects (VnBatch * obj);
|
||||
GList * vn_batch_get_objects_list (VnBatch * obj);
|
||||
guint vn_batch_get_length (VnBatch * obj);
|
||||
|
||||
#endif
|
|
@ -26,16 +26,10 @@ G_DEFINE_TYPE_WITH_CODE (VnModel, vn_model, DB_TYPE_MODEL,
|
|||
);
|
||||
|
||||
/* GtkBuildable custom tag implementation:
|
||||
*
|
||||
* <links>
|
||||
* <link field="db.table.field" param="param-id" linked="true"/>
|
||||
* ...
|
||||
* </links>
|
||||
*
|
||||
* <batch>
|
||||
* <holder id="id" param="param-id"/>
|
||||
* ...
|
||||
* </batch>
|
||||
*/
|
||||
|
||||
typedef struct
|
||||
|
@ -70,12 +64,6 @@ static void vn_model_start_element (GMarkupParseContext * context,
|
|||
d->linked = g_slist_prepend (d->linked, GINT_TO_POINTER (b));
|
||||
}
|
||||
}
|
||||
else if (!g_strcmp0 (element, "holder"))
|
||||
for (i = 0; names[i]; i++)
|
||||
if (!g_strcmp0 (names[i], "id"))
|
||||
d->fields = g_slist_prepend (d->fields, g_strdup (values[i]));
|
||||
else if (!g_strcmp0 (names[i], "param"))
|
||||
d->params = g_slist_prepend (d->params, g_strdup (values[i]));
|
||||
}
|
||||
|
||||
static const GMarkupParser vn_model_parser =
|
||||
|
@ -90,7 +78,7 @@ static gboolean vn_model_buildable_custom_tag_start (GtkBuildable * buildable,
|
|||
if (child)
|
||||
return FALSE;
|
||||
|
||||
if (!g_strcmp0 (tag, "links") || !g_strcmp0 (tag, "batch"))
|
||||
if (!g_strcmp0 (tag, "links"))
|
||||
{
|
||||
VnModelData * data_ptr = g_slice_new (VnModelData);
|
||||
data_ptr->builder = builder;
|
||||
|
@ -135,30 +123,6 @@ static void vn_model_buildable_custom_finished (GtkBuildable * buildable,
|
|||
g_slist_free (d->linked);
|
||||
g_slice_free (VnModelData, d);
|
||||
}
|
||||
else if (!g_strcmp0 (tagname, "batch"))
|
||||
{
|
||||
for (f = d->fields, p = d->params;
|
||||
f && p;
|
||||
f = f->next, p = p->next)
|
||||
{
|
||||
gchar * id = f->data;
|
||||
GvnParam * param = GVN_PARAM (gtk_builder_get_object (d->builder, p->data));
|
||||
SqlBatch * batch = db_model_get_batch (d->model);
|
||||
|
||||
if (!batch)
|
||||
{
|
||||
batch = sql_batch_new ();
|
||||
sql_batch_add_from_param (batch, id, param);
|
||||
db_model_set_batch (d->model, batch);
|
||||
}
|
||||
else
|
||||
sql_batch_add_from_param (batch, id, param);
|
||||
}
|
||||
|
||||
g_slist_free_full (d->fields, g_free);
|
||||
g_slist_free_full (d->params, g_free);
|
||||
g_slice_free (VnModelData, d);
|
||||
}
|
||||
}
|
||||
|
||||
static void vn_model_buildable_set_buildable_property (GtkBuildable * buildable,
|
||||
|
@ -179,10 +143,6 @@ static void vn_model_buildable_set_buildable_property (GtkBuildable * buildable,
|
|||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Class
|
||||
|
||||
static void vn_model_class_init (VnModelClass * klass)
|
||||
{
|
||||
}
|
||||
|
||||
static void vn_model_buildable_init (GtkBuildableIface * iface)
|
||||
{
|
||||
iface->custom_tag_start = vn_model_buildable_custom_tag_start;
|
||||
|
@ -193,3 +153,13 @@ static void vn_model_buildable_init (GtkBuildableIface * iface)
|
|||
static void vn_model_init (VnModel * obj)
|
||||
{}
|
||||
|
||||
static void vn_model_finalize (VnModel * obj)
|
||||
{
|
||||
G_OBJECT_CLASS (vn_model_parent_class)->finalize (G_OBJECT (obj));
|
||||
}
|
||||
|
||||
static void vn_model_class_init (VnModelClass * klass)
|
||||
{
|
||||
GObjectClass * k = G_OBJECT_CLASS (klass);
|
||||
k->finalize = (GObjectFinalizeFunc) vn_model_finalize;
|
||||
}
|
||||
|
|
|
@ -1,48 +1,48 @@
|
|||
<interface>
|
||||
<requires lib="gtk+" version="3.0"/>
|
||||
<menu id='app-menu'>
|
||||
<menu id="app-menu">
|
||||
<section>
|
||||
<item>
|
||||
<attribute name='label' translatable='yes'>New window</attribute>
|
||||
<attribute name='action'>app.new-window</attribute>
|
||||
<attribute name='accel'><Primary>n</attribute>
|
||||
<attribute name="label" translatable="yes">New window</attribute>
|
||||
<attribute name="action">app.new-window</attribute>
|
||||
<attribute name="accel"><Primary>n</attribute>
|
||||
</item>
|
||||
</section>
|
||||
<section>
|
||||
<item>
|
||||
<attribute name='label' translatable='yes'>Logout</attribute>
|
||||
<attribute name='action'>app.logout</attribute>
|
||||
<attribute name='accel'><Primary><Shift>l</attribute>
|
||||
<attribute name="label" translatable="yes">Logout</attribute>
|
||||
<attribute name="action">app.logout</attribute>
|
||||
<attribute name="accel"><Primary><Shift>l</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name='label' translatable='yes'>Connect</attribute>
|
||||
<attribute name='action'>app.connect</attribute>
|
||||
<attribute name='accel'><Primary>l</attribute>
|
||||
<attribute name="label" translatable="yes">Connect</attribute>
|
||||
<attribute name="action">app.connect</attribute>
|
||||
<attribute name="accel"><Primary>l</attribute>
|
||||
</item>
|
||||
</section>
|
||||
<section>
|
||||
<item>
|
||||
<attribute name='label' translatable='yes'>About</attribute>
|
||||
<attribute name='action'>app.about</attribute>
|
||||
<attribute name='accel'><Primary>h</attribute>
|
||||
<attribute name="label" translatable="yes">About</attribute>
|
||||
<attribute name="action">app.about</attribute>
|
||||
<attribute name="accel"><Primary>h</attribute>
|
||||
</item>
|
||||
</section>
|
||||
<section>
|
||||
<item>
|
||||
<attribute name='label' translatable='yes'>Quit</attribute>
|
||||
<attribute name='action'>app.quit</attribute>
|
||||
<attribute name='accel'><Primary>q</attribute>
|
||||
<attribute name="label" translatable="yes">Quit</attribute>
|
||||
<attribute name="action">app.quit</attribute>
|
||||
<attribute name="accel"><Primary>q</attribute>
|
||||
</item>
|
||||
</section>
|
||||
</menu>
|
||||
<menu id='win-menu'>
|
||||
<section id='modules'>
|
||||
<menu id="win-menu">
|
||||
<section id="modules">
|
||||
</section>
|
||||
<section>
|
||||
<item>
|
||||
<attribute name='label' translatable='yes'>Close</attribute>
|
||||
<attribute name='action'>win.close</attribute>
|
||||
<attribute name='accel'><Primary>w</attribute>
|
||||
<attribute name="label" translatable="yes">Close</attribute>
|
||||
<attribute name="action">win.close</attribute>
|
||||
<attribute name="accel"><Primary>w</attribute>
|
||||
</item>
|
||||
</section>
|
||||
</menu>
|
||||
|
|
|
@ -31,7 +31,7 @@ typedef struct _VnFormClass VnFormClass;
|
|||
#include "vn-gui.h"
|
||||
|
||||
typedef GType (* VnFormGetTypeFunc) ();
|
||||
typedef void (* VnFormOpenFunc) (VnForm * obj, GtkBuilder * builder, gpointer user_data);
|
||||
typedef void (* VnFormOpenFunc) (VnForm * obj);
|
||||
typedef void (* VnFormActivateFunc) (VnForm * obj);
|
||||
typedef void (* VnFormDeactivateFunc) (VnForm * obj);
|
||||
|
||||
|
|
Reference in New Issue