[Goodies-commits] r5489 - in xfbib/branches/gobject: src tests

Jesper Karlsson zarper at xfce.org
Mon Sep 29 09:47:23 CEST 2008


Author: zarper
Date: 2008-09-29 07:47:23 +0000 (Mon, 29 Sep 2008)
New Revision: 5489

Modified:
   xfbib/branches/gobject/src/xfbib-entry-edit-dialog.c
   xfbib/branches/gobject/src/xfbib-entry.c
   xfbib/branches/gobject/src/xfbib-entry.h
   xfbib/branches/gobject/src/xfbib-field.c
   xfbib/branches/gobject/src/xfbib-field.h
   xfbib/branches/gobject/src/xfbib-file-io.c
   xfbib/branches/gobject/src/xfbib-list-store.c
   xfbib/branches/gobject/src/xfbib-multiple-input.c
   xfbib/branches/gobject/src/xfbib-multiple-input.h
   xfbib/branches/gobject/src/xfbib-single-input.c
   xfbib/branches/gobject/src/xfbib-single-input.h
   xfbib/branches/gobject/tests/test-xfbib-entry.c
Log:
Added possibility to generate BibTeX key
Cleaned up entry edit dialog (still alot to do)


Modified: xfbib/branches/gobject/src/xfbib-entry-edit-dialog.c
===================================================================
--- xfbib/branches/gobject/src/xfbib-entry-edit-dialog.c	2008-09-28 23:18:21 UTC (rev 5488)
+++ xfbib/branches/gobject/src/xfbib-entry-edit-dialog.c	2008-09-29 07:47:23 UTC (rev 5489)
@@ -22,11 +22,14 @@
 #endif
 #include <gtk/gtk.h>
 #include <libxfcegui4/libxfcegui4.h>
+#include <string.h>
 
 #include "xfbib-entry-edit-dialog.h"
 #include "xfbib-multiple-input.h"
 #include "xfbib-single-input.h"
 #include "xfbib-field.h"
+#include "xfbib-strbuf.h"
+#include "xfbib-entry.h"
 
 static struct {
 	gchar *label;
@@ -87,8 +90,8 @@
 	GtkWidget *type_combo_box;
 	GtkWidget *key_label;
 	GtkWidget *key_entry;
-	/* Single and multiple inputs */
-	GtkWidget *inputs[XFBIB_FIELD_N_FIELDS];
+	GtkWidget *key_button;
+	GtkWidget *inputs[XFBIB_FIELD_N_FIELDS];	/* Single and multiple inputs */
 	GtkWidget *note_boxes[5];
 	GtkWidget *notebook;
 };
@@ -105,6 +108,35 @@
 
 static GObjectClass *xfbib_entry_edit_dialog_parent_class = NULL;
 
+static void
+cb_generate_clicked (GtkButton *button, gpointer user_data)
+{
+	g_printf("cb_generate_clicked\n");
+	/* Generate BibTeX key */
+	/* Suggested format: Last name of first author, year of publication, first word in title appended together */
+	XfbibStrbuf *strbuf;
+	const gchar *lastname, *title;
+	gchar **split;
+	char *tmp;
+	strbuf = xfbib_strbuf_new();
+
+	lastname = xfbib_multiple_input_get_nth_row(XFBIB_MULTIPLE_INPUT (XFBIB_ENTRY_EDIT_DIALOG (user_data)->inputs[XFBIB_FIELD_AUTHOR]),0);
+	if(lastname != NULL) {
+		tmp = strrchr(lastname, ' ') + 1;
+		xfbib_strbuf_append(strbuf, tmp);
+	}
+
+	/* TODO: Fix this line, bad coding style */
+	xfbib_strbuf_append(strbuf, (xfbib_single_input_get_entry_text(XFBIB_SINGLE_INPUT (XFBIB_ENTRY_EDIT_DIALOG (user_data)->inputs[XFBIB_FIELD_YEAR])) + 2));
+
+	title = xfbib_single_input_get_entry_text(XFBIB_SINGLE_INPUT (XFBIB_ENTRY_EDIT_DIALOG (user_data)->inputs[XFBIB_FIELD_TITLE]));
+	split = g_strsplit(title, " ", 2);
+	title = split[0];
+	xfbib_strbuf_append(strbuf, title);
+
+	gtk_entry_set_text(GTK_ENTRY (XFBIB_ENTRY_EDIT_DIALOG (user_data)->key_entry), xfbib_strbuf_get_str(strbuf));
+}
+
 GType
 xfbib_entry_edit_dialog_get_type (void)
 {
@@ -145,39 +177,42 @@
 	
 	instance->type_label = gtk_label_new("Type:");
 	instance->type_combo_box = gtk_combo_box_new_text();
-	
 	for (i = 0; xfbib_type_constants[i].text != NULL; i++) {
 		gtk_combo_box_append_text(GTK_COMBO_BOX(instance->type_combo_box),
 				xfbib_type_constants[i].text);
 	}
 
-
 	instance->key_label = gtk_label_new("Key:");
 	instance->key_entry = gtk_entry_new();
-	gtk_entry_set_width_chars(GTK_ENTRY(instance->key_entry), 30);
+	//gtk_entry_set_width_chars(GTK_ENTRY(instance->key_entry), 30);
+	/* TODO: Remove the text from button, try and find a magic wand icon or something similar instead */
+	instance->key_button = gtk_button_new_from_stock(GTK_STOCK_EXECUTE);
+	g_signal_connect(G_OBJECT (instance->key_button), "clicked", G_CALLBACK (cb_generate_clicked), instance);
 
+	/* TODO: Should the type and key widgets be on two seperate rows instead to limit the width? */
 	top_box = gtk_hbox_new(FALSE, 10);
 	gtk_box_pack_start(GTK_BOX(top_box), instance->type_label, FALSE, FALSE, 10);
 	gtk_box_pack_start(GTK_BOX(top_box), instance->type_combo_box, FALSE, FALSE, 10);
 
+	gtk_box_pack_end(GTK_BOX(top_box), instance->key_button, FALSE, FALSE, 10);
 	gtk_box_pack_end(GTK_BOX(top_box), instance->key_entry, FALSE, FALSE, 10);
 	gtk_box_pack_end(GTK_BOX(top_box), instance->key_label, FALSE, FALSE, 10);
 	
 	gtk_box_pack_start (GTK_BOX (GTK_DIALOG (instance)->vbox), top_box, FALSE, FALSE, 10);
 
 
-	instance->note_boxes[0] = gtk_vbox_new(FALSE, 10);
+	instance->note_boxes[0] = gtk_vbox_new(FALSE, 3);
 	instance->note_boxes[1] = gtk_hbox_new(FALSE, 10);
-	instance->note_boxes[2] = gtk_vbox_new(FALSE, 10);
-	instance->note_boxes[3] = gtk_vbox_new(FALSE, 10);
-	instance->note_boxes[4] = gtk_vbox_new(FALSE, 10);
+	instance->note_boxes[2] = gtk_vbox_new(FALSE, 3);
+	instance->note_boxes[3] = gtk_vbox_new(FALSE, 3);
+	instance->note_boxes[4] = gtk_vbox_new(FALSE, 3);
 	
 	for (i = 0; i < XFBIB_FIELD_N_FIELDS; i++) {
 		/* Create the Input object */
-		if (i != XFBIB_FIELD_AUTHOR && i != XFBIB_FIELD_EDITOR) {
+		if (i == XFBIB_FIELD_AUTHOR || i == XFBIB_FIELD_EDITOR) {
+			instance->inputs[i] = xfbib_multiple_input_new(xfbib_input_constants[i].label, xfbib_input_constants[i].tooltip);
+		} else {
 			instance->inputs[i] = xfbib_single_input_new(xfbib_input_constants[i].label, xfbib_input_constants[i].tooltip);
-		} else {
-			instance->inputs[i] = xfbib_multiple_input_new(xfbib_input_constants[i].label, xfbib_input_constants[i].tooltip);
 		}
 
 		/* Add the input object to the correct box */
@@ -257,6 +292,9 @@
 GtkWidget *
 xfbib_entry_edit_dialog_new(XfbibEntry *entry)
 {
+	const gchar *bibtype;
+	int n;
+
 	XfbibEntryEditDialog *entry_edit_dialog;
 	entry_edit_dialog = g_object_new(XFBIB_TYPE_ENTRY_EDIT_DIALOG,
 			"destroy-with-parent", ((GTK_DIALOG_MODAL & GTK_DIALOG_DESTROY_WITH_PARENT) != 0),
@@ -264,7 +302,29 @@
 			"modal", ((GTK_DIALOG_MODAL & GTK_DIALOG_MODAL) != 0),
 			"title", (entry == NULL) ? "Add new entry" : "Edit existing entry",
 			NULL);
-	
+
+	if (entry != NULL) {
+		bibtype = xfbib_strbuf_get_str(xfbib_entry_get_bibtype(entry));
+		for (n = 0; xfbib_type_constants[n].text != NULL; n++) {
+			if (xfbib_type_constants[n].text == bibtype) {
+				gtk_combo_box_set_active(GTK_COMBO_BOX (entry_edit_dialog->type_combo_box), n);
+				break;
+			}
+		}
+
+		gtk_entry_set_text(GTK_ENTRY (entry_edit_dialog->key_entry), xfbib_strbuf_get_str(xfbib_entry_get_key(entry)));
+
+		for (n = 0; n < XFBIB_FIELD_N_FIELDS; n++) {
+			if (n == XFBIB_FIELD_AUTHOR || n == XFBIB_FIELD_EDITOR) {
+				xfbib_multiple_input_set_text (XFBIB_MULTIPLE_INPUT (entry_edit_dialog->inputs[n]),
+						xfbib_field_get_value_str(xfbib_entry_get_field_by_column(entry, n)));
+			} else {
+				xfbib_single_input_set_entry_text (XFBIB_SINGLE_INPUT (entry_edit_dialog->inputs[n]),
+						xfbib_field_get_value_str(xfbib_entry_get_field_by_column(entry, n)));
+			}
+		}
+	}
+
 	return GTK_WIDGET(entry_edit_dialog);
 }
 

Modified: xfbib/branches/gobject/src/xfbib-entry.c
===================================================================
--- xfbib/branches/gobject/src/xfbib-entry.c	2008-09-28 23:18:21 UTC (rev 5488)
+++ xfbib/branches/gobject/src/xfbib-entry.c	2008-09-29 07:47:23 UTC (rev 5489)
@@ -157,3 +157,32 @@
 
 	return NULL;
 }
+
+/*XfbibField *
+xfbib_entry_get_field_by_label(XfbibEntry *entry, const gchar *label)
+{
+	XfbibField * field;
+	gint n;
+	g_return_val_if_fail(XFBIB_IS_ENTRY(entry), NULL);
+
+	for (n = 0; n < g_list_length(entry->fields); n++) {
+		field = g_list_nth_data(entry->fields, n);
+		if (strcmp(field, label) == 0)
+			return field;
+	}
+
+	return NULL;
+}*/
+
+XfbibStrbuf *
+xfbib_entry_get_bibtype(XfbibEntry *entry)
+{
+	return entry->bibtype;
+}
+
+XfbibStrbuf *
+xfbib_entry_get_key(XfbibEntry *entry)
+{
+	return entry->key;
+}
+

Modified: xfbib/branches/gobject/src/xfbib-entry.h
===================================================================
--- xfbib/branches/gobject/src/xfbib-entry.h	2008-09-28 23:18:21 UTC (rev 5488)
+++ xfbib/branches/gobject/src/xfbib-entry.h	2008-09-29 07:47:23 UTC (rev 5489)
@@ -22,6 +22,7 @@
 
 #include <glib-object.h>
 #include "xfbib-field.h"
+#include "xfbib-strbuf.h"
 
 #define XFBIB_TYPE_ENTRY             (xfbib_entry_get_type())
 #define XFBIB_ENTRY(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj), XFBIB_TYPE_ENTRY, XfbibEntry))
@@ -39,6 +40,9 @@
 XfbibEntry *xfbib_entry_new();
 gboolean xfbib_entry_parse(XfbibEntry *, const gchar *);
 XfbibField *xfbib_entry_get_field_by_column(XfbibEntry *, gint);
+//XfbibField *xfbib_entry_get_field_by_label(XfbibEntry *, const gchar *);
+XfbibStrbuf *xfbib_entry_get_bibtype(XfbibEntry *);
+XfbibStrbuf *xfbib_entry_get_key(XfbibEntry *);
 G_END_DECLS
 
 #endif //__XFBIB_ENTRY_H

Modified: xfbib/branches/gobject/src/xfbib-field.c
===================================================================
--- xfbib/branches/gobject/src/xfbib-field.c	2008-09-28 23:18:21 UTC (rev 5488)
+++ xfbib/branches/gobject/src/xfbib-field.c	2008-09-29 07:47:23 UTC (rev 5489)
@@ -145,7 +145,7 @@
 }
 
 const gchar *
-xfbib_field_get_value(XfbibField *field)
+xfbib_field_get_value_str(XfbibField *field)
 {
 	return xfbib_value_get_str(field->value);
 }

Modified: xfbib/branches/gobject/src/xfbib-field.h
===================================================================
--- xfbib/branches/gobject/src/xfbib-field.h	2008-09-28 23:18:21 UTC (rev 5488)
+++ xfbib/branches/gobject/src/xfbib-field.h	2008-09-29 07:47:23 UTC (rev 5489)
@@ -68,7 +68,7 @@
 XfbibField *xfbib_field_new();
 gboolean xfbib_field_parse(XfbibField *, const gchar *);
 gboolean xfbib_field_is_column(XfbibField *, gint);
-const gchar *xfbib_field_get_value(XfbibField *);
+const gchar *xfbib_field_get_value_str(XfbibField *);
 G_END_DECLS
 
 #endif //__XFBIB_FIELD_H

Modified: xfbib/branches/gobject/src/xfbib-file-io.c
===================================================================
--- xfbib/branches/gobject/src/xfbib-file-io.c	2008-09-28 23:18:21 UTC (rev 5488)
+++ xfbib/branches/gobject/src/xfbib-file-io.c	2008-09-29 07:47:23 UTC (rev 5489)
@@ -47,7 +47,7 @@
 	
 
 	dialog = gtk_file_chooser_dialog_new("Open BibTeX file", 
-						GTK_WINDOW(window),
+						GTK_WINDOW(xfbib_state_get_window(state)),
 						GTK_FILE_CHOOSER_ACTION_OPEN,
 						GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
 						GTK_STOCK_OPEN, GTK_RESPONSE_OK,

Modified: xfbib/branches/gobject/src/xfbib-list-store.c
===================================================================
--- xfbib/branches/gobject/src/xfbib-list-store.c	2008-09-28 23:18:21 UTC (rev 5488)
+++ xfbib/branches/gobject/src/xfbib-list-store.c	2008-09-29 07:47:23 UTC (rev 5489)
@@ -271,7 +271,7 @@
 			field = xfbib_entry_get_field_by_column(XFBIB_ENTRY(iter->user_data), column);
 			if (field == NULL)
 				return;
-			g_value_set_string(value, xfbib_field_get_value(field));
+			g_value_set_string(value, xfbib_field_get_value_str(field));
 			break;
 		default:
 			return;	

Modified: xfbib/branches/gobject/src/xfbib-multiple-input.c
===================================================================
--- xfbib/branches/gobject/src/xfbib-multiple-input.c	2008-09-28 23:18:21 UTC (rev 5488)
+++ xfbib/branches/gobject/src/xfbib-multiple-input.c	2008-09-29 07:47:23 UTC (rev 5489)
@@ -31,7 +31,7 @@
 	GtkWidget *tree_view;
 	GtkWidget *add_button;
 	GtkWidget *remove_button;
-	GtkWidget *toggle_button;
+	//GtkWidget *toggle_button;
 };
 
 typedef struct _XfbibMultipleInputClass
@@ -50,6 +50,60 @@
 
 static GObjectClass *xfbib_multiple_input_parent_class = NULL;
 
+static void cb_cell_edited_event (GtkCellRendererText *renderer, char *path,
+		char *text, GtkTreeView *treeview)
+{
+	GtkTreeIter iter;
+	GtkTreeModel *model;
+	if (strcasecmp (text, "") != 0) {
+  		model = gtk_tree_view_get_model (treeview);
+		if (gtk_tree_model_get_iter_from_string (model, &iter, path))
+			gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, text, -1);
+  	}
+}
+
+static void cb_add_button_clicked_event(GtkWidget *tree_view)
+{
+	g_printf("cb_add_button_clicked_event\n");
+	GtkWidget *dialog;
+	GtkListStore *list;
+	GtkTreeIter iter;
+	GtkTreeViewColumn *column;
+	const gchar *input;
+	gchar *str;
+	
+	column = gtk_tree_view_get_column(GTK_TREE_VIEW(tree_view), 0);
+	str = g_strdup_printf("Add %s", g_ascii_strdown(gtk_tree_view_column_get_title(column), -1));
+	dialog = xfbib_input_dialog_new(str, gtk_tree_view_column_get_title(column));
+	free(str);
+
+	if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) {
+		input = xfbib_input_dialog_get_input(XFBIB_INPUT_DIALOG(dialog));
+		if (strcasecmp (input, "") != 0) {
+			list = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(tree_view)));
+			gtk_list_store_append(list, &iter);
+			gtk_list_store_set(list, &iter, 0, input, -1);
+			/* TODO: Update colors */
+		}
+	}
+	gtk_widget_destroy(dialog);
+}
+
+static void cb_remove_button_clicked_event(GtkWidget *tree_view)
+{
+	g_printf("cb_remove_button_clicked_event\n");
+	GtkTreeModel *model;
+	GtkTreeIter iter;
+	GtkTreeSelection *selection;
+	
+	model = gtk_tree_view_get_model(GTK_TREE_VIEW(tree_view));
+	selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view));
+	if (gtk_tree_selection_get_selected(selection, &model, &iter)) {
+		gtk_list_store_remove(GTK_LIST_STORE(model), &iter);
+		/* TODO: Update colors */
+	}
+}
+
 GType
 xfbib_multiple_input_get_type (void)
 {
@@ -70,7 +124,6 @@
 	}
 	return type;
 }
-
 	
 static void
 xfbib_multiple_input_class_init(XfbibMultipleInputClass *klass)
@@ -124,13 +177,13 @@
 	g_signal_connect_swapped(G_OBJECT(instance->remove_button), "clicked",
 			G_CALLBACK(cb_remove_button_clicked_event), instance->tree_view);
 
-	instance->toggle_button = gtk_toggle_button_new_with_label("aA");
-	gtk_widget_set_tooltip_text (instance->toggle_button, "Toggle case sensitivity.");
+	//instance->toggle_button = gtk_toggle_button_new_with_label("aA");
+	//gtk_widget_set_tooltip_text (instance->toggle_button, "Toggle case sensitivity.");
 
 	
 	gtk_box_pack_start(GTK_BOX(button_box), instance->add_button, TRUE, FALSE, 1);
 	gtk_box_pack_start(GTK_BOX(button_box), instance->remove_button, TRUE, FALSE, 1);
-	gtk_box_pack_start(GTK_BOX(button_box), instance->toggle_button, TRUE, FALSE, 1);
+	//gtk_box_pack_start(GTK_BOX(button_box), instance->toggle_button, TRUE, FALSE, 1);
 	
 	gtk_container_add (GTK_CONTAINER (scrolled_window), instance->tree_view);
 
@@ -145,8 +198,6 @@
 	G_OBJECT_CLASS(xfbib_multiple_input_parent_class)->finalize(obj);
 }
 
-
-
 GtkWidget *
 xfbib_multiple_input_new(gchar *title, gchar *tooltip)
 {
@@ -162,57 +213,41 @@
 	return GTK_WIDGET(multiple_input);
 }
 
-static void cb_cell_edited_event (GtkCellRendererText *renderer, char *path,
-		char *text, GtkTreeView *treeview)
+void
+xfbib_multiple_input_set_text(XfbibMultipleInput *multiple_input, const gchar *text)
 {
+	GtkTreeModel *model;
 	GtkTreeIter iter;
-	GtkTreeModel *model;
-	if (strcasecmp (text, "") != 0) {
-  		model = gtk_tree_view_get_model (treeview);
-		if (gtk_tree_model_get_iter_from_string (model, &iter, path))
-			gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, text, -1);
-  	}
-}
+	gchar **split = NULL;
+	gint n;
 
-
-static void cb_add_button_clicked_event(GtkWidget *tree_view)
-{
-	g_printf("cb_add_button_clicked_event\n");
-	GtkWidget *dialog;
-	GtkListStore *list;
-	GtkTreeIter iter;
-	GtkTreeViewColumn *column;
-	const gchar *input;
-	gchar *str;
+	model = gtk_tree_view_get_model(GTK_TREE_VIEW (multiple_input->tree_view));
+	gtk_list_store_append(GTK_LIST_STORE (model), &iter);
 	
-	column = gtk_tree_view_get_column(GTK_TREE_VIEW(tree_view), 0);
-	str = g_strdup_printf("Add %s", g_ascii_strdown(gtk_tree_view_column_get_title(column), -1));
-	dialog = xfbib_input_dialog_new(str, gtk_tree_view_column_get_title(column));
-	free(str);
-
-	if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) {
-		input = xfbib_input_dialog_get_input(XFBIB_INPUT_DIALOG(dialog));
-		if (strcasecmp (input, "") != 0) {
-			list = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(tree_view)));
-			gtk_list_store_append(list, &iter);
-			gtk_list_store_set(list, &iter, 0, input, -1);
-			/* TODO: Update colors */
-		}
+	split = g_strsplit(text, " and ", 0);
+	for (n = 0; split[n] != NULL; n++) {
+		gtk_list_store_set(GTK_LIST_STORE (model), &iter, 0, split[n], -1);
 	}
-	gtk_widget_destroy(dialog);
 }
 
-static void cb_remove_button_clicked_event(GtkWidget *tree_view)
+const gchar *
+xfbib_multiple_input_get_nth_row(XfbibMultipleInput *multiple_input, gint row)
 {
-	g_printf("cb_remove_button_clicked_event\n");
 	GtkTreeModel *model;
 	GtkTreeIter iter;
-	GtkTreeSelection *selection;
-	
-	model = gtk_tree_view_get_model(GTK_TREE_VIEW(tree_view));
-	selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view));
-	if (gtk_tree_selection_get_selected(selection, &model, &iter)) {
-		gtk_list_store_remove(GTK_LIST_STORE(model), &iter);
-		/* TODO: Update colors */
+	gint n = 0;
+	const gchar *tmp;
+
+	model = gtk_tree_view_get_model(GTK_TREE_VIEW (multiple_input->tree_view));
+	if(gtk_tree_model_get_iter_first(model, &iter)) {
+		while((n < row) && gtk_tree_model_iter_next(model, &iter)) {
+			n++;
+		}
+		if(n == row) {
+			gtk_tree_model_get(model, &iter, 0, &tmp, -1);
+			return tmp;
+		}
 	}
+	return NULL;
 }
+

Modified: xfbib/branches/gobject/src/xfbib-multiple-input.h
===================================================================
--- xfbib/branches/gobject/src/xfbib-multiple-input.h	2008-09-28 23:18:21 UTC (rev 5488)
+++ xfbib/branches/gobject/src/xfbib-multiple-input.h	2008-09-29 07:47:23 UTC (rev 5489)
@@ -36,6 +36,8 @@
 GType xfbib_multiple_input_get_type() G_GNUC_CONST;
 
 GtkWidget *xfbib_multiple_input_new(gchar *, gchar *);
+void xfbib_multiple_input_set_text(XfbibMultipleInput *, const gchar *);
+const gchar *xfbib_multiple_input_get_nth_row(XfbibMultipleInput *, gint);
 
 G_END_DECLS
 

Modified: xfbib/branches/gobject/src/xfbib-single-input.c
===================================================================
--- xfbib/branches/gobject/src/xfbib-single-input.c	2008-09-28 23:18:21 UTC (rev 5488)
+++ xfbib/branches/gobject/src/xfbib-single-input.c	2008-09-29 07:47:23 UTC (rev 5489)
@@ -29,7 +29,7 @@
 	GtkHBox parent;
 	GtkWidget *label;
 	GtkWidget *entry;
-	GtkWidget *toggle_button;
+	//GtkWidget *toggle_button;
 };
 
 typedef struct _XfbibSingleInputClass
@@ -84,13 +84,13 @@
 	instance->entry = gtk_entry_new();
 	gtk_entry_set_width_chars(GTK_ENTRY (instance->entry), 30);
 	
-	instance->toggle_button = gtk_toggle_button_new_with_label("aA");
-	gtk_widget_set_tooltip_text (instance->toggle_button, "Toggle case sensitivity.");
+	//instance->toggle_button = gtk_toggle_button_new_with_label("aA");
+	//gtk_widget_set_tooltip_text (instance->toggle_button, "Toggle case sensitivity.");
 	
 	/* Pack the buttons */
-	gtk_box_pack_start(GTK_BOX(instance), instance->label, FALSE, FALSE, 10);
-	gtk_box_pack_end(GTK_BOX(instance), instance->toggle_button, FALSE, TRUE, 10);
-	gtk_box_pack_end(GTK_BOX(instance), instance->entry, FALSE, TRUE, 10);
+	gtk_box_pack_start(GTK_BOX(instance), instance->label, FALSE, FALSE, 3);
+	//gtk_box_pack_end(GTK_BOX(instance), instance->toggle_button, FALSE, TRUE, 10);
+	gtk_box_pack_end(GTK_BOX(instance), instance->entry, FALSE, TRUE, 3);
 	gtk_widget_show_all(GTK_WIDGET(instance));
 }
 
@@ -110,3 +110,15 @@
 	return GTK_WIDGET(single_input);
 }
 
+void
+xfbib_single_input_set_entry_text(XfbibSingleInput *single_input, const gchar *text)
+{
+	gtk_entry_set_text(GTK_ENTRY (single_input->entry), text);
+}
+
+const gchar *
+xfbib_single_input_get_entry_text(XfbibSingleInput *single_input)
+{
+	return gtk_entry_get_text(GTK_ENTRY (single_input->entry));
+}
+

Modified: xfbib/branches/gobject/src/xfbib-single-input.h
===================================================================
--- xfbib/branches/gobject/src/xfbib-single-input.h	2008-09-28 23:18:21 UTC (rev 5488)
+++ xfbib/branches/gobject/src/xfbib-single-input.h	2008-09-29 07:47:23 UTC (rev 5489)
@@ -36,6 +36,8 @@
 GType xfbib_single_input_get_type() G_GNUC_CONST;
 
 GtkWidget *xfbib_single_input_new(gchar *, gchar *);
+void xfbib_single_input_set_entry_text(XfbibSingleInput *, const gchar *);
+const gchar *xfbib_single_input_get_entry_text(XfbibSingleInput *);
 
 G_END_DECLS
 

Modified: xfbib/branches/gobject/tests/test-xfbib-entry.c
===================================================================
--- xfbib/branches/gobject/tests/test-xfbib-entry.c	2008-09-28 23:18:21 UTC (rev 5488)
+++ xfbib/branches/gobject/tests/test-xfbib-entry.c	2008-09-29 07:47:23 UTC (rev 5489)
@@ -17,7 +17,7 @@
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
-#include <stdlib.h>
+/*#include <stdlib.h>
 #include <gtk/gtk.h>
 
 #include "xfbib-entry.h"
@@ -58,4 +58,4 @@
 	g_object_unref(entry);
 */
 	return EXIT_SUCCESS;
-}
+}*/




More information about the Goodies-commits mailing list