// gcc 13c.c -o 13c `pkg-config --cflags --libs gtk+-2.0`

#include <gtk/gtk.h>

int main( int argc, char *argv[] )
{
  GtkWidget *fenetre, *hbox1, *TxtBox, *vbox1, *statusbar1, *statusbar2, *statusbar3, *progressbar;

  gtk_init (&argc, &argv);
  fenetre = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_default_size(GTK_WINDOW(fenetre), 400, 200);
  g_signal_connect(G_OBJECT(fenetre),"destroy",G_CALLBACK(gtk_main_quit),NULL);

  //vbox1 contient tout
  vbox1 = gtk_vbox_new(FALSE, 0);
  gtk_container_add(GTK_CONTAINER(fenetre), vbox1);

  // un textbox
  TxtBox = gtk_text_view_new();
  gtk_box_pack_start(GTK_BOX(vbox1), TxtBox, TRUE, TRUE, 0);

//hbox1 contient 3 statusbar et un progressbar
  hbox1 = gtk_hbox_new (FALSE, 0);
  gtk_box_pack_start (GTK_BOX (vbox1), hbox1, FALSE, TRUE, 0);
  gtk_widget_set_sensitive (hbox1, FALSE);

  statusbar1 = gtk_statusbar_new ();
  gtk_box_pack_start (GTK_BOX (hbox1), statusbar1, FALSE, TRUE, 10);
  gtk_widget_set_size_request (statusbar1, 100, -1);
  gtk_statusbar_set_has_resize_grip (GTK_STATUSBAR (statusbar1), FALSE);
  gtk_statusbar_push (GTK_STATUSBAR (statusbar1), 0, "Info1");

  statusbar2 = gtk_statusbar_new ();
  gtk_box_pack_start (GTK_BOX (hbox1), statusbar2, FALSE, TRUE, 0);
  gtk_widget_set_size_request (statusbar2, 60, -1);
  gtk_statusbar_set_has_resize_grip (GTK_STATUSBAR (statusbar2), FALSE);
  gtk_statusbar_push (GTK_STATUSBAR (statusbar2), 0, "Info2");

  progressbar = gtk_progress_bar_new();
  gtk_widget_set_size_request(progressbar, 60, -1);
  gtk_container_add (GTK_CONTAINER (statusbar2), progressbar);
  gtk_widget_show (progressbar);

  statusbar3 = gtk_statusbar_new ();
  gtk_box_pack_end (GTK_BOX (hbox1), statusbar3, FALSE, TRUE, 0);
  gtk_widget_set_size_request (statusbar3, 25, -1);
  gtk_statusbar_push (GTK_STATUSBAR (statusbar3), 0, "Info3");

  gtk_widget_show_all(fenetre);
  gtk_main ();
  return 0;
}