diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2008-01-09 03:00:44 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2008-01-09 03:00:44 +0100 |
commit | 9eea83915d9e7d14089a57a4107cba103bc8fae1 (patch) | |
tree | 2a1ae4042edc9a2d481c0ae43cdf50dbb1aee540 | |
parent | 94b414adfa772647614302fea3ba72366ef491c4 (diff) | |
download | connman-gnome-9eea83915d9e7d14089a57a4107cba103bc8fae1.tar.gz |
Fix layout of client test application
-rw-r--r-- | common/test-client.c | 81 |
1 files changed, 68 insertions, 13 deletions
diff --git a/common/test-client.c b/common/test-client.c index d7911d6..31c30f1 100644 --- a/common/test-client.c +++ b/common/test-client.c @@ -121,6 +121,12 @@ static void policy_to_text(GtkTreeViewColumn *column, GtkCellRenderer *cell, g_free(markup); } +static void network_to_text(GtkTreeViewColumn *column, GtkCellRenderer *cell, + GtkTreeModel *model, GtkTreeIter *iter, gpointer data) +{ + g_object_set(cell, "markup", "", NULL); +} + static void ipv4_to_text(GtkTreeViewColumn *column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer data) { @@ -212,6 +218,10 @@ static GtkWidget *create_tree(void) policy_to_text, NULL, NULL); gtk_tree_view_insert_column_with_data_func(GTK_TREE_VIEW(tree), -1, + "Network", gtk_cell_renderer_text_new(), + network_to_text, NULL, NULL);\ + + gtk_tree_view_insert_column_with_data_func(GTK_TREE_VIEW(tree), -1, "IPv4", gtk_cell_renderer_text_new(), ipv4_to_text, NULL, NULL); @@ -310,6 +320,31 @@ static void static_callback(GtkWidget *button, gpointer user_data) client_set_ipv4(index, CLIENT_IPV4_METHOD_STATIC); } +static void network_callback(GtkWidget *button, gpointer user_data) +{ + GtkTreeSelection *selection = user_data; + GtkTreeModel *model; + GtkTreeIter iter; + GtkWidget *widget; + gchar *index, *network; + + if (gtk_tree_selection_get_selected(selection, + &model, &iter) == FALSE) + return; + + index = gtk_tree_model_get_string_from_iter(model, &iter); + + widget = g_object_get_data(G_OBJECT(selection), "network"); + if (widget == NULL) + return; + + network = gtk_combo_box_get_active_text(GTK_COMBO_BOX(widget)); + + //client_set_network(index, network); + + g_free(network); +} + static void delete_callback(GtkWidget *window, GdkEvent *event, gpointer user_data) { @@ -330,12 +365,14 @@ static void close_callback(GtkWidget *button, gpointer user_data) static GtkWidget *create_window(void) { GtkWidget *window; - GtkWidget *vbox; + GtkWidget *mainbox; GtkWidget *hbox; + GtkWidget *vbox; GtkWidget *tree; GtkWidget *scrolled; GtkWidget *buttonbox; GtkWidget *button; + GtkWidget *combo; GtkTreeSelection *selection; tree = create_tree(); @@ -344,16 +381,23 @@ static GtkWidget *create_window(void) window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "Client Test"); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); - gtk_window_set_default_size(GTK_WINDOW(window), 640, 320); + gtk_window_set_default_size(GTK_WINDOW(window), 600, 400); g_signal_connect(G_OBJECT(window), "delete-event", G_CALLBACK(delete_callback), NULL); - vbox = gtk_vbox_new(FALSE, 12); - gtk_container_set_border_width(GTK_CONTAINER(vbox), 12); - gtk_container_add(GTK_CONTAINER(window), vbox); + mainbox = gtk_vbox_new(FALSE, 12); + gtk_container_set_border_width(GTK_CONTAINER(mainbox), 12); + gtk_container_add(GTK_CONTAINER(window), mainbox); + + scrolled = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), + GTK_SHADOW_OUT); + gtk_box_pack_start(GTK_BOX(mainbox), scrolled, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE, 8); - gtk_container_add(GTK_CONTAINER(vbox), hbox); + gtk_box_pack_start(GTK_BOX(mainbox), hbox, FALSE, FALSE, 0); buttonbox = gtk_vbutton_box_new(); gtk_button_box_set_layout(GTK_BUTTON_BOX(buttonbox), @@ -375,6 +419,11 @@ static GtkWidget *create_window(void) g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(policy_auto), selection); + buttonbox = gtk_vbutton_box_new(); + gtk_button_box_set_layout(GTK_BUTTON_BOX(buttonbox), + GTK_BUTTONBOX_START); + gtk_box_pack_start(GTK_BOX(hbox), buttonbox, FALSE, FALSE, 0); + button = gtk_button_new_with_label("DHCP"); gtk_container_add(GTK_CONTAINER(buttonbox), button); g_signal_connect(G_OBJECT(button), "clicked", @@ -385,17 +434,23 @@ static GtkWidget *create_window(void) g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(static_callback), selection); - scrolled = gtk_scrolled_window_new(NULL, NULL); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), - GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), - GTK_SHADOW_OUT); - gtk_box_pack_start(GTK_BOX(hbox), scrolled, TRUE, TRUE, 0); + vbox = gtk_vbox_new(FALSE, 0); + gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); + + combo = gtk_combo_box_entry_new_text(); + gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "Guest"); + gtk_box_pack_start(GTK_BOX(vbox), combo, FALSE, FALSE, 0); + g_object_set_data(G_OBJECT(selection), "network", combo); + + button = gtk_button_new_with_label("Set Network"); + gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0); + g_signal_connect(G_OBJECT(button), "clicked", + G_CALLBACK(network_callback), selection); buttonbox = gtk_hbutton_box_new(); gtk_button_box_set_layout(GTK_BUTTON_BOX(buttonbox), GTK_BUTTONBOX_END); - gtk_box_pack_start(GTK_BOX(vbox), buttonbox, FALSE, FALSE, 0); + gtk_box_pack_end(GTK_BOX(mainbox), buttonbox, FALSE, FALSE, 0); button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); gtk_container_add(GTK_CONTAINER(buttonbox), button); |