[libgda] browser: object-index: added new update() method
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgda] browser: object-index: added new update() method
- Date: Sat, 9 Mar 2019 00:37:22 +0000 (UTC)
commit c7a9700101fb966ae0649a132b412fd1d065ec2c
Author: Daniel Espinosa Ortiz <esodan gmail com>
Date: Fri Mar 8 17:54:07 2019 -0600
browser: object-index: added new update() method
tools/browser/schema-browser/objects-index.c | 28 +++++++++++++++++++---------
tools/browser/schema-browser/objects-index.h | 1 +
2 files changed, 20 insertions(+), 9 deletions(-)
---
diff --git a/tools/browser/schema-browser/objects-index.c b/tools/browser/schema-browser/objects-index.c
index 01a58e9e9..b6bc21c39 100644
--- a/tools/browser/schema-browser/objects-index.c
+++ b/tools/browser/schema-browser/objects-index.c
@@ -177,9 +177,27 @@ objects_index_new (TConnection *tcnc)
gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
gtk_widget_show (label);
- /* cloud */
+ objects_index_update (index);
+ /* search entry */
+ wid = gdaui_bar_add_search_entry (GDAUI_BAR (label));
+
+ g_signal_connect (wid, "changed",
+ G_CALLBACK (find_changed_cb), index);
+
+ return (GtkWidget*) index;
+}
+
+void
+objects_index_update (ObjectsIndex *index)
+{
GdaMetaStruct *mstruct;
GtkWidget *cloud;
+ if (index->priv->cloud != NULL) {
+ g_signal_handlers_disconnect_by_func (GTK_WIDGET (index->priv->cloud),
+ G_CALLBACK (cloud_object_selected_cb), index);
+ gtk_widget_destroy (GTK_WIDGET (index->priv->cloud));
+ }
+
mstruct = t_connection_get_meta_struct (index->priv->tcnc);
cloud = objects_cloud_new (mstruct, OBJECTS_CLOUD_TYPE_TABLE);
objects_cloud_show_schemas (OBJECTS_CLOUD (cloud), TRUE);
@@ -187,14 +205,6 @@ objects_index_new (TConnection *tcnc)
index->priv->cloud = OBJECTS_CLOUD (cloud);
g_signal_connect (cloud, "selected",
G_CALLBACK (cloud_object_selected_cb), index);
-
- /* search entry */
- wid = gdaui_bar_add_search_entry (GDAUI_BAR (label));
-
- g_signal_connect (wid, "changed",
- G_CALLBACK (find_changed_cb), index);
-
- return (GtkWidget*) index;
}
static void
diff --git a/tools/browser/schema-browser/objects-index.h b/tools/browser/schema-browser/objects-index.h
index 1ab87e264..f5e2ebcb2 100644
--- a/tools/browser/schema-browser/objects-index.h
+++ b/tools/browser/schema-browser/objects-index.h
@@ -51,6 +51,7 @@ struct _ObjectsIndexClass {
GType objects_index_get_type (void) G_GNUC_CONST;
GtkWidget *objects_index_new (TConnection *tcnc);
+void objects_index_update (ObjectsIndex *index);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]