Exemplo n.º 1
0
gu_window_t *
gu_win_create(gtk_ui_t *gu, prop_t *nav, int all)
{
  gu_window_t *gw = calloc(1, sizeof(gu_window_t));

  LIST_INSERT_HEAD(&gu->gu_windows, gw, gw_link);

  gw->gw_gu = gu;

  gw->gw_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

  gtk_window_set_title(GTK_WINDOW(gw->gw_window), "Showtime");
  gtk_window_set_default_size(GTK_WINDOW(gw->gw_window), 640, 400);

  g_signal_connect(G_OBJECT(gw->gw_window), "delete_event",
		   G_CALLBACK(gw_close), gw);

  gw->gw_vbox = gtk_vbox_new(FALSE, 1);
  gtk_container_add(GTK_CONTAINER(gw->gw_window), gw->gw_vbox);
  gtk_widget_show(gw->gw_vbox);

  gw->gw_view_toolbar = 1;
  if(all) {
    gw->gw_view_playdeck = 1;
    gw->gw_view_statusbar = 1;
  }

  /* Menubar */
  gw->gw_menubar = gu_menubar_add(gw, gw->gw_vbox);
  gtk_widget_show_all(gw->gw_menubar);
 
  /* Notebook (that which contains tabs) */
  gw->gw_notebook = gtk_notebook_new();
  gtk_box_pack_start(GTK_BOX(gw->gw_vbox),
		     gw->gw_notebook, TRUE, TRUE, 0);
  gtk_notebook_set_show_border(GTK_NOTEBOOK(gw->gw_notebook), 0);
  gtk_notebook_set_show_tabs(GTK_NOTEBOOK(gw->gw_notebook), 0);
  gtk_notebook_set_scrollable(GTK_NOTEBOOK(gw->gw_notebook), 1);

  gtk_widget_show(gw->gw_notebook);

  g_signal_connect(G_OBJECT(gw->gw_notebook), "switch-page",
		   G_CALLBACK(tab_changed), gw);

  /* Playback controls */
  gw->gw_playdeck = gu_playdeck_add(gw, gw->gw_vbox);
  if(gw->gw_view_playdeck)
    gtk_widget_show(gw->gw_playdeck);

  /* Statusbar */
  gw->gw_statusbar = gu_statusbar_add(gw, gw->gw_vbox);
  if(gw->gw_view_statusbar)
    gtk_widget_show(gw->gw_statusbar);

  g_signal_connect(G_OBJECT(gw->gw_window), "key-press-event",
		   G_CALLBACK(window_key_pressed), gw);

  g_signal_connect(G_OBJECT(gw->gw_window), "window-state-event",
		   G_CALLBACK(window_state_event), gw);

  gu_tab_create(gw, nav, 1);

  gtk_widget_show(gw->gw_window);

  return gw;
}
Exemplo n.º 2
0
void
gu_nav_open_newtab(gu_window_t *gw, const char *url)
{
  gu_tab_t *gt = gu_tab_create(gw, NULL, 0);
  gu_tab_send_event(gt, event_create_openurl(url, NULL, NULL, NULL, NULL));
}
Exemplo n.º 3
0
static void
m_opentab(GtkWidget *menu_item, gpointer callback_data)
{
  gu_window_t *gw = callback_data;
  gu_tab_create(gw, 1, NULL);
}