title: ok button and back button showing vertically one on top and other at bottom ;need side by side layout
body: <p>In my code OKButton and backButton are shown arranged vertically-OKButton on top, back on bottom.I want them to be arranged horizontally. I want them to be in the same row- back on left and OK on right.
  Currently, I have a tab window of 5 tabs. In each tab there is a liststore treeview. On clicking register item of liststore new scrolledwindow is created which contains another lisstore with back and ok buttons. Clicking back goes back to previous menu and clicking ok fires row ctivated signal which has an empty callback function.I appreciate you suggestions
  Pasted my code below-</p>
  
  <pre><code>#include &lt;gtk/gtk.h&gt;
  #include &lt;glib.h&gt;
  #include &lt;stdlib.h&gt;
  #include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  #include &lt;unistd.h&gt;
  #include &lt;sys/socket.h&gt;
  #include &lt;bluetooth/bluetooth.h&gt;
  #include &lt;bluetooth/hci.h&gt;
  #include &lt;bluetooth/hci_lib.h&gt;
  GtkWidget *scrolledwindow;
  struct param
  {
      GtkWidget* backbutton;
      GtkWidget* Okbutton;
      GtkWidget* scrolledwindow;
      GtkWidget*newChild;
      GtkWidget*oldChild;
  };
  GtkWidget * init_tree();
  GtkWidget * init_tree2();
  static void destroy(GtkWidget *widget, gpointer data)
  {
    gtk_main_quit();
  }
  
  static void Back (GtkButton *button, gpointer   user_data)
  {
        struct param* parameters = (struct param*)user_data;
        gtk_widget_hide(GTK_WIDGET(parameters-&gt;scrolledwindow));
        gtk_container_remove(GTK_CONTAINER(parameters-&gt;scrolledwindow), GTK_WIDGET(parameters-&gt;newChild));
        gtk_container_add(GTK_CONTAINER(parameters-&gt;scrolledwindow), parameters-&gt;oldChild);
        gtk_widget_hide (GTK_WIDGET(parameters-&gt;backbutton));
        gtk_widget_show_all (GTK_WIDGET(parameters-&gt;scrolledwindow));
  }
  
  static void Ok (GtkButton *button, gpointer   user_data)
  {
  
  }
  
  static void replace_tab(GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data)
  {
        struct param* parameters = (struct param*)user_data;
        gchar *string;
        GtkTreeIter iter;
        GtkTreeModel *model = gtk_tree_view_get_model (tree_view);
        gtk_tree_model_get_iter(model, &amp;iter, path);
        gtk_tree_model_get (model, &amp;iter, 0, &amp;string, -1);
        g_print ("activated: %s\n", string);
        if(!strcmp(string,"Register"))
        {
            GtkWidget* liststore = GTK_WIDGET(gtk_tree_view_get_model(tree_view));
            gtk_widget_hide(GTK_WIDGET(parameters-&gt;scrolledwindow));
            gtk_container_remove(GTK_CONTAINER(parameters-&gt;scrolledwindow), GTK_WIDGET(tree_view));
            gtk_container_add(GTK_CONTAINER(parameters-&gt;scrolledwindow), parameters-&gt;newChild);
            gtk_widget_show (GTK_WIDGET(parameters-&gt;backbutton));
            gtk_widget_show (GTK_WIDGET(parameters-&gt;Okbutton));
            gtk_widget_show_all (GTK_WIDGET(parameters-&gt;scrolledwindow));
  
        }
        else if(!strcmp(string,"New Configuration"))
        {
  
        }
        else if(!strcmp(string,"Edit Configuration"))
        {
  
        }
        else if(!strcmp(string,"Delete Configuration"))
        {
  
        }
        else if(!strcmp(string,"Add location to turn-off place list"))
        {
  
        }
        else if(!strcmp(string,"Disable Turn-off Places"))
        {
  
        }
        else if(!strcmp(string,"Disable Distance"))
        {
  
        }
  
        else if(!strcmp(string,"Enable Distance"))
        {
  
        }
        else if(!strcmp(string,"Factory Reset"))
        {
  
        }
  }
  
  GtkWidget * init_tree()
  {
  
      GtkListStore *liststore = gtk_list_store_new(1, G_TYPE_STRING);
      GtkTreeIter treeiter;
  
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "Register", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "New Configuration", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "Edit Configuration", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "Delete Configuration", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "Add location to turn-off place list", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "Disable Turn-off Places", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "Enable Turn-off Places", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "Disable Distance", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "Enable Distance", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
  
      gtk_list_store_set(liststore, &amp;treeiter, 0, "Factory Reset", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      GtkWidget *treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(liststore));
  
      GtkCellRenderer *cellrenderertext = gtk_cell_renderer_text_new();
  
      GtkTreeViewColumn *treeviewcolumn = gtk_tree_view_column_new_with_attributes("Settings",
                                                                                   cellrenderertext,
                                                                                   "text", 0,
                                                                                   NULL);
      gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), treeviewcolumn);
  
      return treeview;
  }
  
  GtkWidget * init_tree2()
  {
  
      GtkListStore *liststore = gtk_list_store_new(1, G_TYPE_STRING);
      GtkTreeIter treeiter;
  
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "a", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "b", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "c", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "d", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "e", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "f", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "Aptosid", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "OpenSuSE", -1);
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "Linux Mint", -1);
  
  
      gtk_list_store_append(liststore, &amp;treeiter);
      gtk_list_store_set(liststore, &amp;treeiter, 0, "Arch Linux", -1);
  
      GtkWidget *treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(liststore));
  
      GtkCellRenderer *cellrenderertext = gtk_cell_renderer_text_new();
  
      GtkTreeViewColumn *treeviewcolumn = gtk_tree_view_column_new_with_attributes("Distributions",
                                                                                   cellrenderertext,
                                                                                   "text", 0,
                                                                                   NULL);
      gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), treeviewcolumn);
  
      return treeview;
  }
  
  int main(int argc, char *argv[])
  {
    gtk_init(&amp;argc, &amp;argv);
  
    GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_default_size(GTK_WINDOW(window), 200, 200);
    g_signal_connect(window, "destroy", G_CALLBACK(destroy), NULL);
  
    GtkWidget *notebook = gtk_notebook_new();
    gtk_container_add(GTK_CONTAINER(window), notebook);
  
  
    int count;
    gchar *text;
  
    for (count = 1; count &lt;= 5; count++)
      {
        text = g_strdup_printf("Page %d", count);
        GtkWidget *label = gtk_label_new(text);
  
        GtkWidget *vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
        GtkWidget *scrolledwindow = gtk_scrolled_window_new(NULL, NULL);
  
        GtkWidget *backbutton = gtk_button_new_with_label ("Back");
  
        gtk_widget_set_no_show_all (backbutton, TRUE);
  
        GtkWidget *Okbutton = gtk_button_new_with_label ("Ok");
        gtk_widget_set_no_show_all (Okbutton, TRUE);
  
        gtk_box_pack_start (GTK_BOX(vbox), scrolledwindow, TRUE, TRUE, 0);
        gtk_box_pack_end (GTK_BOX(vbox), backbutton, FALSE, FALSE, 0);
        gtk_box_pack_end (GTK_BOX(vbox), Okbutton, FALSE, FALSE, 0);
  
  
        GtkWidget* treeview = init_tree();
        GtkWidget* treeview2 = init_tree2();
        struct param* parameters = malloc(sizeof(struct param));
        parameters-&gt;backbutton = backbutton;
        parameters-&gt;Okbutton = Okbutton;
        parameters-&gt;scrolledwindow = scrolledwindow;
        parameters-&gt;oldChild= treeview;
        parameters-&gt;newChild= treeview2;
  
        g_signal_connect(treeview, "row-activated", G_CALLBACK(replace_tab), (gpointer) parameters);
        g_signal_connect(backbutton, "clicked", G_CALLBACK(Back), (gpointer) parameters);
        g_signal_connect(Okbutton, "clicked", G_CALLBACK(Ok), (gpointer) parameters);
  
        gtk_container_add(GTK_CONTAINER(scrolledwindow), treeview);
        gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, label);
      }
  
    gtk_widget_show_all(window);
  
    gtk_main();
  
    return 0;
  }
  </code></pre>