static void
glade_keys_dialog_init (GladeKeysDialog       *dialog)
{
  GtkWidget *scrolled_win;
  int i, row;
  gchar *titles[1];

  gtk_window_set_title (GTK_WINDOW (dialog), _("Select Accelerator Key"));
  gtk_window_set_wmclass (GTK_WINDOW (dialog), "accelerator_key", "Glade");

  titles[0] = _("Keys");
  dialog->clist = gtk_clist_new_with_titles (1, titles);
  gtk_clist_column_titles_passive (GTK_CLIST (dialog->clist));
  gtk_widget_set_usize (dialog->clist, 200, 300);
  gtk_widget_show (dialog->clist);

  scrolled_win = gtk_scrolled_window_new (NULL, NULL);
  gtk_container_add (GTK_CONTAINER (scrolled_win), dialog->clist);
  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
				  GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), scrolled_win,
		      TRUE, TRUE, 0);
  gtk_widget_show (scrolled_win);

  /* Insert events & descriptions */
  gtk_clist_freeze (GTK_CLIST (dialog->clist));

  i = 0;
  while (GbKeys[i].name)
    {
      row = gtk_clist_append (GTK_CLIST (dialog->clist),
			      (gchar**) (&GbKeys[i].name));
      gtk_clist_set_row_data (GTK_CLIST (dialog->clist), row,
			      GINT_TO_POINTER (i));
      i++;
    }

  gtk_clist_thaw (GTK_CLIST (dialog->clist));

#ifdef USE_GNOME
  dialog->ok_button = gnome_stock_button (GNOME_STOCK_BUTTON_OK);
#else
  dialog->ok_button = gtk_button_new_with_label (_ ("OK"));
#endif
  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->action_area),
		      dialog->ok_button, TRUE, TRUE, 0);
  GTK_WIDGET_SET_FLAGS (dialog->ok_button, GTK_CAN_DEFAULT);
  gtk_widget_grab_default (dialog->ok_button);
  gtk_widget_show (dialog->ok_button);

#ifdef USE_GNOME
  dialog->cancel_button = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL);
#else
  dialog->cancel_button = gtk_button_new_with_label (_("Cancel"));
#endif
  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->action_area),
		      dialog->cancel_button, TRUE, TRUE, 0);
  GTK_WIDGET_SET_FLAGS (dialog->cancel_button, GTK_CAN_DEFAULT);
  gtk_widget_show (dialog->cancel_button);
}
示例#2
0
/**
 * Initialize the nodes controller. Register callbacks in the backend.
 */
G_GNUC_COLD void
nodes_gui_init(void)
{
	unsigned i;
	GtkCList *clist;

	clist = GTK_CLIST(gui_main_window_lookup("clist_nodes"));

    gtk_clist_column_titles_passive(clist);
	for (i = 0; i < c_gnet_num; i++) {
    	gtk_clist_set_column_name(clist, i, nodes_gui_column_title(i));
	}
	clist_restore_visibility(clist, PROP_NODES_COL_VISIBLE);
	clist_restore_widths(clist, PROP_NODES_COL_WIDTHS);

	widget_add_popup_menu(GTK_WIDGET(clist), nodes_gui_get_popup_menu);

    hs_node_info_changed = hset_create_any(nid_hash, nid_hash2, nid_equal);
    hs_node_flags_changed = hset_create_any(nid_hash, nid_hash2, nid_equal);

    guc_node_add_node_added_listener(nodes_gui_node_added);
    guc_node_add_node_removed_listener(nodes_gui_node_removed);
    guc_node_add_node_info_changed_listener(nodes_gui_node_info_changed);
    guc_node_add_node_flags_changed_listener(nodes_gui_node_flags_changed);

	main_gui_add_timer(nodes_gui_timer);
}
示例#3
0
static int
create_disassembly( GtkBox *parent, gtkui_font font )
{
  size_t i;

  GtkWidget *scrollbar;
  gchar *disassembly_titles[] = { "Address", "Instruction" };

  /* A box to hold the disassembly listing and the scrollbar */
  disassembly_box = gtk_hbox_new( FALSE, 0 );
  gtk_box_pack_start_defaults( parent, disassembly_box );

  /* The disassembly CList itself */
  disassembly = gtk_clist_new_with_titles( 2, disassembly_titles );
  gtkui_set_font( disassembly, font );
  gtk_clist_column_titles_passive( GTK_CLIST( disassembly ) );
  for( i = 0; i < 2; i++ )
    gtk_clist_set_column_auto_resize( GTK_CLIST( disassembly ), i, TRUE );
  gtk_box_pack_start_defaults( GTK_BOX( disassembly_box ), disassembly );

  /* The disassembly scrollbar */
  disassembly_scrollbar_adjustment =
    gtk_adjustment_new( 0, 0x0000, 0xffff, 0.5, 20, 20 );
  gtk_signal_connect( GTK_OBJECT( disassembly_scrollbar_adjustment ),
		      "value-changed", GTK_SIGNAL_FUNC( move_disassembly ),
		      NULL );
  scrollbar =
    gtk_vscrollbar_new( GTK_ADJUSTMENT( disassembly_scrollbar_adjustment ) );
  gtk_box_pack_start( GTK_BOX( disassembly_box ), scrollbar, FALSE, FALSE, 0 );

  gtkui_scroll_connect( GTK_CLIST( disassembly ),
			GTK_ADJUSTMENT( disassembly_scrollbar_adjustment ) );

  return 0;
}
示例#4
0
GtkCList *
create_stat_table(GtkWidget *scrolled_window, GtkWidget *vbox, int columns, const char *titles[])
{
    GtkCList *table;
    int i;

    /* create table */
    table = GTK_CLIST(gtk_clist_new_with_titles(columns, (gchar **) titles));

    gtk_box_pack_start(GTK_BOX(vbox), scrolled_window, TRUE, TRUE, 0);

    /* configure clist */
    gtk_clist_column_titles_passive(table);
    gtk_clist_column_titles_show(table);
    for (i = 0; i < columns; i++)
        gtk_clist_set_column_auto_resize(table, i, TRUE);
    gtk_clist_set_selection_mode(table, GTK_SELECTION_SINGLE);

    /* Put clist into a scrolled window */
    gtk_container_add(GTK_CONTAINER(scrolled_window),
                      GTK_WIDGET(table));
    gtk_widget_show(GTK_WIDGET(table));
    gtk_widget_show(scrolled_window);

    return table;
}
示例#5
0
void
module_glist (struct session *sess)
{
	gchar *titles[] = { _("Name"), _("Description") };
	GtkWidget *okb, *ulb;

	if (modlist)
		return;

	modlist = gtk_dialog_new ();
	gtk_signal_connect (GTK_OBJECT (modlist), "delete_event",
							  GTK_SIGNAL_FUNC (module_glist_close), 0);
	gtk_widget_set_usize (modlist, 350, 200);
	gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (modlist)->vbox),
											  4);
	gtk_window_set_position (GTK_WINDOW (modlist), GTK_WIN_POS_CENTER);
	gtk_window_set_title (GTK_WINDOW (modlist), _("X-Chat Plugins"));
	gtk_window_set_wmclass (GTK_WINDOW (modlist), "plugins", "X-Chat");

	modclist = gtk_clist_new_with_titles (2, titles);
	gtk_clist_set_selection_mode (GTK_CLIST (modclist), GTK_SELECTION_BROWSE);
	gtk_clist_column_titles_passive (GTK_CLIST (modclist));
	gtk_box_pack_start (GTK_BOX (GTK_DIALOG (modlist)->vbox), modclist, 1, 1,
							  10);
	gtk_widget_show (modclist);

	gtk_clist_set_column_width (GTK_CLIST (modclist), 0, 40);

#ifdef	USE_GNOME
	okb = gnome_stock_button (GNOME_STOCK_BUTTON_OK);
#else
	okb = gtk_button_new_with_label (_("Ok"));
#endif
	gtk_box_pack_start (GTK_BOX (GTK_DIALOG (modlist)->action_area), okb, 1, 1,
							  10);
	gtk_signal_connect (GTK_OBJECT (okb), "clicked",
							  GTK_SIGNAL_FUNC (module_glist_close),
							  (gpointer) modlist);
	gtk_widget_show (okb);

	ulb = gtk_button_new_with_label (_("Unload"));
	gtk_box_pack_start (GTK_BOX (GTK_DIALOG (modlist)->action_area), ulb, 1, 1,
							  10);
	gtk_signal_connect (GTK_OBJECT (ulb), "clicked",
							  GTK_SIGNAL_FUNC (module_glist_unload),
							  (gpointer) sess);
	gtk_widget_show (ulb);

	fe_pluginlist_update ();

	gtk_widget_show (modlist);
}
示例#6
0
void DownloadUI::CreateDownloadList(GtkWidget *box)
{
    static const char *titles[] =
    {
      "Song Title", "Status"
    };

    m_List = gtk_clist_new_with_titles(2, (gchar **)titles);
    gtk_container_add(GTK_CONTAINER(box), m_List);
    gtk_clist_set_column_width(GTK_CLIST(m_List), 0, 200);
    gtk_signal_connect(GTK_OBJECT(m_List), "select_row",
                       GTK_SIGNAL_FUNC(set_current_sel_internal), this);
    gtk_widget_show(m_List);
    gtk_clist_column_titles_passive(GTK_CLIST(m_List));
}
示例#7
0
static int
create_breakpoints( GtkBox *parent )
{
  size_t i;

  gchar *breakpoint_titles[] = { "ID", "Type", "Value", "Ignore", "Life",
				 "Condition" };

  breakpoints = gtk_clist_new_with_titles( 6, breakpoint_titles );
  gtk_clist_column_titles_passive( GTK_CLIST( breakpoints ) );
  for( i = 0; i < 6; i++ )
    gtk_clist_set_column_auto_resize( GTK_CLIST( breakpoints ), i, TRUE );
  gtk_box_pack_start_defaults( parent, breakpoints );

  return 0;
}
示例#8
0
static void
glade_keys_dialog_init (GladeKeysDialog       *dialog)
{
  GtkWidget *scrolled_win;
  int i, row;
  gchar *titles[1];

  gtk_window_set_title (GTK_WINDOW (dialog), _("Select Accelerator Key"));
  gtk_window_set_wmclass (GTK_WINDOW (dialog), "accelerator_key", "Glade");

  titles[0] = _("Keys");
  dialog->clist = gtk_clist_new_with_titles (1, titles);
  gtk_clist_column_titles_passive (GTK_CLIST (dialog->clist));
  gtk_widget_set_usize (dialog->clist, 200, 300);
  gtk_widget_show (dialog->clist);

  scrolled_win = gtk_scrolled_window_new (NULL, NULL);
  gtk_container_add (GTK_CONTAINER (scrolled_win), dialog->clist);
  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
				  GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), scrolled_win,
		      TRUE, TRUE, 0);
  gtk_widget_show (scrolled_win);

  /* Insert events & descriptions */
  gtk_clist_freeze (GTK_CLIST (dialog->clist));

  i = 0;
  while (GbKeys[i].name)
    {
      row = gtk_clist_append (GTK_CLIST (dialog->clist),
			      (gchar**) (&GbKeys[i].name));
      gtk_clist_set_row_data (GTK_CLIST (dialog->clist), row,
			      GINT_TO_POINTER (i));
      i++;
    }

  gtk_clist_thaw (GTK_CLIST (dialog->clist));

  gtk_dialog_add_buttons (GTK_DIALOG (dialog),
					GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
					GTK_STOCK_OK, GTK_RESPONSE_OK,
					NULL);
  gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
}
示例#9
0
static int
create_stack_display( GtkBox *parent, gtkui_font font )
{
  size_t i;
  gchar *stack_titles[] = { "Address", "Value" };

  stack = gtk_clist_new_with_titles( 2, stack_titles );
  gtkui_set_font( stack, font );
  gtk_clist_column_titles_passive( GTK_CLIST( stack ) );
  for( i = 0; i < 2; i++ )
    gtk_clist_set_column_auto_resize( GTK_CLIST( stack ), i, TRUE );
  gtk_box_pack_start( parent, stack, TRUE, TRUE, 5 );

  gtk_signal_connect( GTK_OBJECT( stack ), "select-row",
		      GTK_SIGNAL_FUNC( stack_click ), NULL );

  return 0;
}
示例#10
0
void
hcache_gui_init(void)
{
    GtkCList *clist;
    const gchar *titles[5];
    guint i;

    for (i = 0; i < G_N_ELEMENTS(titles); i++) {
        titles[i] = "-";
	}
    clist = GTK_CLIST(gui_main_window_lookup("clist_hcache"));

    /*
     * Stats can't be sorted: make column headers insensitive.
     */
	gtk_clist_column_titles_passive(clist);

    /*
     * Initialize stats tables.
     */
    for (i = 0; i < HCACHE_MAX; i++) {
        gint row;

		if (i == HCACHE_NONE)
			continue;

        titles[0] = get_hcache_name(i);

	/* Override const */
        row = gtk_clist_append(clist, (gchar **) titles);
        gtk_clist_set_selectable(clist, row, FALSE);
    }

    for (i = 1; i < 4; i++) {
        gtk_clist_set_column_justification(clist, i, GTK_JUSTIFY_RIGHT);
    }
	clist_restore_widths(clist, PROP_HCACHE_COL_WIDTHS);
	main_gui_add_timer(hcache_gui_timer);
}
示例#11
0
GtkWidget *
gtkutil_clist_new (int columns, char *titles[],
						 GtkWidget * box, int policy,
						 void *select_callback, gpointer select_userdata,
						 void *unselect_callback,
						 gpointer unselect_userdata, int selection_mode)
{
	GtkWidget *clist, *win;

	win = gtk_scrolled_window_new (0, 0);
	gtk_container_add (GTK_CONTAINER (box), win);
	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (win),
											  GTK_POLICY_AUTOMATIC, policy);
	gtk_widget_show (win);

	if (titles)
		clist = gtk_clist_new_with_titles (columns, titles);
	else
		clist = gtk_clist_new (columns);

	gtk_clist_set_selection_mode (GTK_CLIST (clist), selection_mode);
	gtk_clist_column_titles_passive (GTK_CLIST (clist));
	gtk_container_add (GTK_CONTAINER (win), clist);
	if (select_callback)
	{
		g_signal_connect (G_OBJECT (clist), "select_row",
								G_CALLBACK (select_callback), select_userdata);
	}
	if (unselect_callback)
	{
		g_signal_connect (G_OBJECT (clist), "unselect_row",
								G_CALLBACK (unselect_callback), unselect_userdata);
	}
	gtk_widget_show (clist);

	return clist;
}
示例#12
0
static GtkWidget*
make_contents(history_calendar_dlg *hcdlg) {
	GtkWidget *vbox, *button, *scrollwin;
	gchar *titles[] = { "Time", "Event" };

	button = gtk_button_new();
	hcdlg->daylabel = gtk_label_new("");
	g_signal_connect(G_OBJECT(button), "clicked",
			G_CALLBACK(popup_calendar), hcdlg);
	gtk_container_add(GTK_CONTAINER(button), hcdlg->daylabel);

	scrollwin = gtk_scrolled_window_new (NULL, NULL); 
	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW
		(scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
	hcdlg->evlist = gtk_clist_new_with_titles(2, titles);
	gtk_clist_set_selection_mode(GTK_CLIST(hcdlg->evlist),
			GTK_SELECTION_BROWSE);
	g_signal_connect(G_OBJECT(hcdlg->evlist), "select-row", 
			G_CALLBACK(hc_row_selected), hcdlg);
	g_signal_connect(G_OBJECT(hcdlg->evlist), "unselect-row", 
			G_CALLBACK(hc_row_selected), hcdlg);
	g_signal_connect(G_OBJECT(hcdlg->evlist), "button_press_event",
			G_CALLBACK(hc_list_click_cb), hcdlg);
	gtk_clist_column_titles_passive(GTK_CLIST(hcdlg->evlist));
	/* fixme gtk2 gtk_clist_set_column_width(GTK_CLIST(hcdlg->evlist), 0, 
			gdk_string_width(hcdlg->evlist->style->font, "00:00a"));*/
	titles[0] = NULL;
	titles[1] = "[select a day]";
	gtk_clist_append(GTK_CLIST(hcdlg->evlist), titles);
	gtk_clist_set_selectable(GTK_CLIST(hcdlg->evlist), 0, FALSE);
	gtk_container_add(GTK_CONTAINER(scrollwin), hcdlg->evlist);

	vbox = gtk_vbox_new(FALSE, 5); 
	gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), scrollwin, TRUE, TRUE, 0);
	return vbox;
}
示例#13
0
void           lzaktaxi()
{
char         bros[300];
iceb_u_str kol00;
iceb_u_str kol0;
iceb_u_str kol1;
iceb_u_str kol2;
iceb_u_str kol3;
iceb_u_str kol4;
iceb_u_str kol5;
iceb_u_str kol6;
iceb_u_str kol7;
iceb_u_str kol8;
iceb_u_str kol9;
iceb_u_str kol10;
iceb_u_str kol11;
iceb_u_str kol12;
iceb_u_str kol13;
iceb_u_str kol14;
iceb_u_str kol15;
/****************
kol00.plus("M");
kol0.plus(iceb_u_toutf("Дата и время заказа"));
kol3.plus(iceb_u_toutf("Адрес подачи"));
kol5.plus(iceb_u_toutf("Адрес поездки"));
kol4.plus(iceb_u_toutf("Телефон"));
kol6.plus(iceb_u_toutf("Код клиента"));
kol1.plus(iceb_u_toutf("Водитель"));
kol2.plus(iceb_u_toutf("Гос.номер"));
kol9.plus(iceb_u_toutf("Код завершения"));//10
kol7.plus(iceb_u_toutf("К/п"));
kol8.plus(iceb_u_toutf("Коментарий"));
kol10.plus(iceb_u_toutf("Фамилия"));
kol11.plus(iceb_u_toutf("Сумма"));
kol12.plus(iceb_u_toutf("Дата и время звонка"));//11
kol13.plus(iceb_u_toutf("Дата и время завершения"));//12
kol14.plus(iceb_u_toutf("Дата и время записи"));//13
kol15.plus(iceb_u_toutf("Оператор"));//14

gchar *titles[] = \
 { 
  kol00.ravno(),
  kol0.ravno(),
  kol3.ravno(),
  kol5.ravno(),
  kol4.ravno(),
  kol6.ravno(),
  kol1.ravno(),
  kol2.ravno(),
  kol9.ravno(),
  kol7.ravno(),
  kol8.ravno(),
  kol10.ravno(),
  kol11.ravno(),
  kol12.ravno(),
  kol13.ravno(),
  kol14.ravno(),
  kol15.ravno()
 };
********************/
gchar *titles[] = \
 { 
  iceb_u_toutf("M"),
  iceb_u_toutf("Дата и время заказа"),
  iceb_u_toutf("Адрес подачи"),
  iceb_u_toutf("Адрес поездки"),
  iceb_u_toutf("Телефон"),
  iceb_u_toutf("Код клиента"),
  iceb_u_toutf("Водитель"),
  iceb_u_toutf("Гос.номер"),
  iceb_u_toutf("Код завершения"),
  iceb_u_toutf("К/п"),
  iceb_u_toutf("Коментарий"),
  iceb_u_toutf("Фамилия"),
  iceb_u_toutf("Сумма"),
  iceb_u_toutf("Дата и время звонка"),
  iceb_u_toutf("Дата и время завершения"),
  iceb_u_toutf("Дата и время записи"),
  iceb_u_toutf("Оператор")

 };
data.window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
//gtk_widget_set_usize(GTK_WIDGET(data.window), 600, 400);
//gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER);

sprintf(bros,"%s %s",NAME_SYSTEM,iceb_u_toutf("Список заказов"));
gtk_window_set_title(GTK_WINDOW(data.window),bros);

gtk_signal_connect(GTK_OBJECT(data.window),"delete_event",GTK_SIGNAL_FUNC(gtk_widget_destroy),NULL);
gtk_signal_connect(GTK_OBJECT(data.window),"destroy",GTK_SIGNAL_FUNC(gtk_main_quit),NULL);
gtk_signal_connect_after(GTK_OBJECT(data.window),"key_press_event",GTK_SIGNAL_FUNC(lzaktaxi_key_press),&data);
gtk_signal_connect_after(GTK_OBJECT(data.window),"key_release_event",GTK_SIGNAL_FUNC(iceb_key_release),&data.kl_shift);

GtkWidget *vbox=gtk_vbox_new(FALSE, 5);

gtk_container_add(GTK_CONTAINER(data.window), vbox);
data.label=gtk_label_new(gettext("Поиск"));
gtk_box_pack_start(GTK_BOX(vbox),data.label,FALSE,FALSE,0);


data.scrolled_window= gtk_scrolled_window_new (NULL, NULL);
//gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(data.scrolled_window),
//                                    GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (data.scrolled_window),
                                GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
gtk_widget_set_usize(GTK_WIDGET(data.scrolled_window), 500, 300);

gtk_box_pack_start(GTK_BOX(vbox), data.scrolled_window, TRUE, TRUE, 0);
gtk_widget_show (data.scrolled_window);

gtk_widget_realize(data.scrolled_window);

gdk_window_set_cursor(data.scrolled_window->window,gdk_cursor_new(ICEB_CURSOR));
//gdk_window_set_cursor(data.scrolled_window->window,gdk_cursor_new(ICEB_CURSOR_GDITE));

data.list = gtk_clist_new_with_titles(KOLTITL, titles);



gtk_clist_column_titles_passive((GtkCList *) data.list);

gtk_signal_connect(GTK_OBJECT(data.list), "select_row", GTK_SIGNAL_FUNC(lzaktaxi_selection_row),&data);
gtk_signal_connect(GTK_OBJECT(data.list), "unselect_row", GTK_SIGNAL_FUNC(lzaktaxi_unselection_row),&data);


//gtk_clist_set_column_width (GTK_CLIST(data.list), 0, 60);
//gtk_clist_set_column_width (GTK_CLIST(data.list), 1, 300);

gtk_container_add(GTK_CONTAINER(data.scrolled_window), data.list);
//gtk_widget_show(data.list);

/**********************
gtk_widget_realize(data.list);
gdk_window_set_cursor(data.list->window,gdk_cursor_new(GDK_HAND1));
****************/

data.hboxradio = gtk_hbox_new(FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), data.hboxradio, FALSE, TRUE, 0);

data.metkarr=0;

//Вставляем радиокнопки
GSList *group=NULL;

data.radiobutton0=gtk_radio_button_new_with_label(NULL,iceb_u_toutf("Незавершенные заказы"));
gtk_box_pack_start (GTK_BOX (data.hboxradio),data.radiobutton0, TRUE, TRUE, 0);
gtk_signal_connect(GTK_OBJECT(data.radiobutton0), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_radio0),&data);
//gtk_object_set_user_data(GTK_OBJECT(data.radiobutton0),(gpointer)"0");

group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton0));

data.radiobutton1=gtk_radio_button_new_with_label(group,iceb_u_toutf("Все заказы"));
gtk_box_pack_start (GTK_BOX (data.hboxradio),data.radiobutton1, TRUE, TRUE, 0);
gtk_signal_connect(GTK_OBJECT(data.radiobutton1), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_radio1),&data);

group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton1));

data.radiobutton2=gtk_radio_button_new_with_label(group,iceb_u_toutf("Сутки"));
gtk_box_pack_start (GTK_BOX (data.hboxradio),data.radiobutton2, TRUE, TRUE, 0);
gtk_signal_connect(GTK_OBJECT(data.radiobutton2), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_radio2),&data);

group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton2));

data.radiobutton3=gtk_radio_button_new_with_label(group,iceb_u_toutf("Первые"));
gtk_signal_connect(GTK_OBJECT(data.radiobutton3), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_radio3),&data);
gtk_box_pack_start (GTK_BOX (data.hboxradio),data.radiobutton3, TRUE, TRUE, 0);
//кнопку устанавливаем активной после отображения окна
//gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton3),TRUE); //Устанавливем активной кнопку

//Вставляем настройку количества записей
GtkObject *adjustment1=gtk_adjustment_new(10.0,1.0,1000.0,1.0,0.0,0.0);
data.spin1=gtk_spin_button_new(GTK_ADJUSTMENT(adjustment1),1.0,0);
gtk_box_pack_start (GTK_BOX (data.hboxradio),data.spin1, TRUE, TRUE, 0);
GtkTooltips *tooltipsspin1=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltipsspin1,data.spin1,iceb_u_toutf("Установка количества записей для просмотра"),NULL);

//Вставляем кнопку автоматического обновления списка

GtkWidget *knopaos=gtk_check_button_new_with_label(iceb_u_toutf("Автоматическое обновление списка"));
gtk_signal_connect(GTK_OBJECT(knopaos), "toggled",GTK_SIGNAL_FUNC(lzaktaxi_knopaos),&data);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(knopaos),FALSE);
gtk_box_pack_start (GTK_BOX (data.hboxradio),knopaos, TRUE, TRUE, 0);

//Вставляем настройку автоматического обновления списка
GtkObject *adjustment=gtk_adjustment_new(30.0,1.0,3600.0,1.0,0.0,0.0);
data.spin=gtk_spin_button_new(GTK_ADJUSTMENT(adjustment),1.0,0);
gtk_box_pack_start (GTK_BOX (data.hboxradio),data.spin, TRUE, TRUE, 0);

GtkTooltips *tooltipsspin=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltipsspin,data.spin,iceb_u_toutf("Установка интервала автоматического обновления списка в секундах"),NULL);

sprintf(bros,"К/з: 0");
data.labelkz=gtk_label_new(iceb_u_toutf(bros));
gtk_box_pack_end(GTK_BOX(data.hboxradio),data.labelkz, TRUE, TRUE, 0);

GtkWidget *hbox = gtk_hbox_new(FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
gtk_widget_show(hbox);

sprintf(bros,"F2 %s",gettext("Запись"));
data.knopka[FK2]=gtk_button_new_with_label(bros);
gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK2], TRUE, TRUE, 0);
gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data);
GtkTooltips *tooltips0=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips0,data.knopka[FK2],iceb_u_toutf("Ввод нового заказа"),NULL);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK2]),(gpointer)FK2);

sprintf(bros,"%sF2 %s",RFK,gettext("Корректировать"));
data.knopka[SFK2]=gtk_button_new_with_label(bros);
gtk_box_pack_start(GTK_BOX(hbox), data.knopka[SFK2], TRUE, TRUE, 0);
gtk_widget_set_sensitive(GTK_WIDGET(data.knopka[SFK2]),FALSE);//Недоступна
gtk_signal_connect(GTK_OBJECT(data.knopka[SFK2]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data);
GtkTooltips *tooltips1=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips1,data.knopka[SFK2],gettext("Корректировка выбранной запси"),NULL);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[SFK2]),(gpointer)SFK2);

sprintf(bros,"F3 %s",gettext("Удалить"));
data.knopka[FK3]=gtk_button_new_with_label(bros);
gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK3], TRUE, TRUE, 0);
gtk_widget_set_sensitive(GTK_WIDGET(data.knopka[FK3]),FALSE);//Недоступна
gtk_signal_connect(GTK_OBJECT(data.knopka[FK3]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data);
GtkTooltips *tooltips2=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips2,data.knopka[FK3],gettext("Удаление выбранной запси"),NULL);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK3]),(gpointer)FK3);

sprintf(bros,"F4 %s",gettext("Поиск"));
data.knopka[FK4]=gtk_button_new_with_label(bros);
gtk_signal_connect(GTK_OBJECT(data.knopka[FK4]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data);
gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK4], TRUE, TRUE, 0);
GtkTooltips *tooltips3=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips3,data.knopka[FK4],gettext("Поиск нужных записей"),NULL);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK4]),(gpointer)FK4);

sprintf(bros,"F5 %s",gettext("Печать"));
data.knopka[FK5]=gtk_button_new_with_label(bros);
gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK5], TRUE, TRUE, 0);
gtk_signal_connect(GTK_OBJECT(data.knopka[FK5]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data);
GtkTooltips *tooltips4=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips4,data.knopka[FK5],gettext("Распечатка записей"),NULL);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK5]),(gpointer)FK5);

sprintf(bros,"F6 %s",iceb_u_toutf("Завершить"));
data.knopka[FK6]=gtk_button_new_with_label(bros);
gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK6], TRUE, TRUE, 0);
gtk_signal_connect(GTK_OBJECT(data.knopka[FK6]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data);
GtkTooltips *tooltips5=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips5,data.knopka[FK6],iceb_u_toutf("Отметить выбранный заказ как завершенный"),NULL);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK6]),(gpointer)FK6);

sprintf(bros,"F7 %s",iceb_u_toutf("Обновить"));
data.knopka[FK7]=gtk_button_new_with_label(bros);
gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK7], TRUE, TRUE, 0);
gtk_signal_connect(GTK_OBJECT(data.knopka[FK7]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data);
GtkTooltips *tooltips7=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips7,data.knopka[FK7],iceb_u_toutf("Обновить список заказов"),NULL);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK7]),(gpointer)FK7);

sprintf(bros,"F10 %s",gettext("Выход"));
data.knopka[FK10]=gtk_button_new_with_label(bros);
gtk_box_pack_start(GTK_BOX(hbox),data.knopka[FK10], TRUE, TRUE, 0);
GtkTooltips *tooltips6=gtk_tooltips_new();
gtk_tooltips_set_tip(tooltips6,data.knopka[FK10],gettext("Завершение работы в этом окне"),NULL);
gtk_signal_connect(GTK_OBJECT(data.knopka[FK10]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data);
gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10);

gtk_widget_grab_focus(data.knopka[FK10]);

gtk_widget_show_all(data.window);
gtk_widget_hide(data.label); //Скрываем от показа виджет

//data.colormap=gdk_colormap_get_system();

//if(gdk_color_parse("blue",&data.color_blue) == TRUE)
//  gdk_color_alloc(data.colormap,&data.color_blue);

//if(gdk_color_parse("red",&data.color_red) == TRUE)
//  gdk_color_alloc(data.colormap,&data.color_red);
gdk_color_parse("blue",&data.color_blue);
gdk_color_parse("red",&data.color_red);

//zapzaktaxi(&data); //записывается при включении радиокнопки

gtk_widget_show_all(data.window);
gtk_widget_hide(data.label); //Скрываем от показа виджет

gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton3),TRUE); //Устанавливем активной кнопку


gtk_main();


return;

}
示例#14
0
extern GtkWidget* GL_Create(void)
{
    GtkStyle *ps;
    gint nMaxWidth; 
    char *asz[] = {NULL, NULL, NULL};
	PangoRectangle logical_rect;
	PangoLayout *layout;

	asz[0] = _("#");
    pwGameList = gtk_clist_new_with_titles(3, asz);
    gtk_widget_set_can_focus (pwGameList, FALSE);

    gtk_clist_set_selection_mode( GTK_CLIST( pwGameList ),
				  GTK_SELECTION_BROWSE );
    gtk_clist_column_titles_passive( GTK_CLIST( pwGameList ) );

    GL_SetNames();

    gtk_clist_set_column_justification( GTK_CLIST( pwGameList ), 0,
					GTK_JUSTIFY_RIGHT );
    gtk_clist_set_column_resizeable( GTK_CLIST( pwGameList ), 0, FALSE );
    gtk_clist_set_column_resizeable( GTK_CLIST( pwGameList ), 1, FALSE );
    gtk_clist_set_column_resizeable( GTK_CLIST( pwGameList ), 2, FALSE );
    gtk_widget_ensure_style( pwGameList );
    GetStyleFromRCFile(&ps, "gnubg", gtk_widget_get_style( pwGameList ) );
    ps->base[ GTK_STATE_SELECTED ] =
    	ps->base[ GTK_STATE_ACTIVE ] =
    	ps->base[ GTK_STATE_NORMAL ] =
    	gtk_widget_get_style( pwGameList )->base[ GTK_STATE_NORMAL ];
    ps->fg[ GTK_STATE_SELECTED ] =
    	ps->fg[ GTK_STATE_ACTIVE ] =
    	ps->fg[ GTK_STATE_NORMAL ] =
    	gtk_widget_get_style( pwGameList )->fg[ GTK_STATE_NORMAL ];
    gtk_widget_set_style( pwGameList, ps );
    
    psGameList = gtk_style_copy( ps );
    psGameList->bg[ GTK_STATE_SELECTED ] = psGameList->bg[ GTK_STATE_NORMAL ] =
    	ps->base[ GTK_STATE_NORMAL ];

    psCurrent = gtk_style_copy( psGameList );
    psCurrent->bg[ GTK_STATE_SELECTED ] = psCurrent->bg[ GTK_STATE_NORMAL ] =
    	psCurrent->base[ GTK_STATE_SELECTED ] =
    	psCurrent->base[ GTK_STATE_NORMAL ] =
    	psGameList->fg[ GTK_STATE_NORMAL ];
    psCurrent->fg[ GTK_STATE_SELECTED ] = psCurrent->fg[ GTK_STATE_NORMAL ] =
    	psGameList->bg[ GTK_STATE_NORMAL ];

    GetStyleFromRCFile(&psCubeErrors[SKILL_VERYBAD], "gamelist-cube-blunder", psGameList);
    GetStyleFromRCFile(&psCubeErrors[SKILL_BAD], "gamelist-cube-error", psGameList);
    GetStyleFromRCFile(&psCubeErrors[SKILL_DOUBTFUL], "gamelist-cube-doubtful", psGameList);

    GetStyleFromRCFile(&psChequerErrors[SKILL_VERYBAD], "gamelist-chequer-blunder", psGameList);
    GetStyleFromRCFile(&psChequerErrors[SKILL_BAD], "gamelist-chequer-error", psGameList);
    GetStyleFromRCFile(&psChequerErrors[SKILL_DOUBTFUL], "gamelist-chequer-doubtful", psGameList);

    GetStyleFromRCFile(&psLucky[LUCK_VERYBAD], "gamelist-luck-bad", psGameList);
    GetStyleFromRCFile(&psLucky[LUCK_VERYGOOD], "gamelist-luck-good", psGameList);

	layout = gtk_widget_create_pango_layout(pwGameList, "99");
	pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
	g_object_unref (layout);
	nMaxWidth = logical_rect.width;
    gtk_clist_set_column_width( GTK_CLIST( pwGameList ), 0, nMaxWidth );

	layout = gtk_widget_create_pango_layout(pwGameList, " (set board AAAAAAAAAAAAAA)");
	pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
	g_object_unref (layout);
	nMaxWidth = logical_rect.width;
    gtk_clist_set_column_width( GTK_CLIST( pwGameList ), 1, nMaxWidth - 30);
    gtk_clist_set_column_width( GTK_CLIST( pwGameList ), 2, nMaxWidth - 30);
    
    g_signal_connect( G_OBJECT( pwGameList ), "select-row",
			G_CALLBACK( GameListSelectRow ), NULL );

    return pwGameList;
}
示例#15
0
/*
 * mainline..
 */
void ptrans_searchbox(char *title)
{
    int i;

    GtkWidget *scrolled_win;
    GtkWidget *vbox1, *hbox, *hbox0;
    GtkWidget *button1, *button5, *button6;
    gchar *titles[]={"Process Filter Select"};
    GtkWidget *frame2, *frameh, *frameh0;
    GtkWidget *table;
    GtkTooltips *tooltips;

    if(GLOBALS->is_active_ptranslate_c_2) 
	{
	gdk_window_raise(GLOBALS->window_ptranslate_c_5->window);
	return;
	}

    GLOBALS->is_active_ptranslate_c_2=1;
    GLOBALS->current_filter_ptranslate_c_1 = 0;

    /* create a new modal window */
    GLOBALS->window_ptranslate_c_5 = gtk_window_new(GLOBALS->disable_window_manager ? GTK_WINDOW_POPUP : GTK_WINDOW_TOPLEVEL);
    install_focus_cb(GLOBALS->window_ptranslate_c_5, ((char *)&GLOBALS->window_ptranslate_c_5) - ((char *)GLOBALS));

    gtk_window_set_title(GTK_WINDOW (GLOBALS->window_ptranslate_c_5), title);
    gtkwave_signal_connect(GTK_OBJECT (GLOBALS->window_ptranslate_c_5), "delete_event",(GtkSignalFunc) destroy_callback, NULL);

    tooltips=gtk_tooltips_new_2();

    table = gtk_table_new (256, 1, FALSE);
    gtk_widget_show (table);

    vbox1 = gtk_vbox_new (FALSE, 0);
    gtk_container_border_width (GTK_CONTAINER (vbox1), 3);
    gtk_widget_show (vbox1);


    frame2 = gtk_frame_new (NULL);
    gtk_container_border_width (GTK_CONTAINER (frame2), 3);
    gtk_widget_show(frame2);

    gtk_table_attach (GTK_TABLE (table), frame2, 0, 1, 0, 254,
                        GTK_FILL | GTK_EXPAND,
                        GTK_FILL | GTK_EXPAND | GTK_SHRINK, 1, 1);

    GLOBALS->clist_ptranslate_c_2=gtk_clist_new_with_titles(1,titles);
    gtk_clist_column_titles_passive(GTK_CLIST(GLOBALS->clist_ptranslate_c_2)); 

    gtk_clist_set_selection_mode(GTK_CLIST(GLOBALS->clist_ptranslate_c_2), GTK_SELECTION_EXTENDED);
    gtkwave_signal_connect_object (GTK_OBJECT (GLOBALS->clist_ptranslate_c_2), "select_row",GTK_SIGNAL_FUNC(select_row_callback),NULL);
    gtkwave_signal_connect_object (GTK_OBJECT (GLOBALS->clist_ptranslate_c_2), "unselect_row",GTK_SIGNAL_FUNC(unselect_row_callback),NULL);

    for(i=0;i<GLOBALS->num_proc_filters;i++)
	{
	gtk_clist_append(GTK_CLIST(GLOBALS->clist_ptranslate_c_2),(gchar **)&(GLOBALS->procsel_filter[i+1]));
	}
    gtk_clist_set_column_width(GTK_CLIST(GLOBALS->clist_ptranslate_c_2),0,gtk_clist_optimal_column_width(GTK_CLIST(GLOBALS->clist_ptranslate_c_2),0));

    gtk_widget_show (GLOBALS->clist_ptranslate_c_2);

    scrolled_win = gtk_scrolled_window_new (NULL, NULL);
    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
                                      GTK_POLICY_AUTOMATIC,
                                      GTK_POLICY_AUTOMATIC);
    gtk_widget_set_usize( GTK_WIDGET (scrolled_win), -1, 300);
    gtk_widget_show(scrolled_win);

    /* gtk_scrolled_window_add_with_viewport doesn't seen to work right here.. */
    gtk_container_add (GTK_CONTAINER (scrolled_win), GLOBALS->clist_ptranslate_c_2);

    gtk_container_add (GTK_CONTAINER (frame2), scrolled_win);


    frameh0 = gtk_frame_new (NULL);
    gtk_container_border_width (GTK_CONTAINER (frameh0), 3);
    gtk_widget_show(frameh0);
    gtk_table_attach (GTK_TABLE (table), frameh0, 0, 1, 254, 255,
                        GTK_FILL | GTK_EXPAND,
                        GTK_FILL | GTK_EXPAND | GTK_SHRINK, 1, 1);


    hbox0 = gtk_hbox_new (FALSE, 1);
    gtk_widget_show (hbox0);

    button6 = gtk_button_new_with_label (" Add Proc Filter to List ");
    gtk_container_border_width (GTK_CONTAINER (button6), 3);
    gtkwave_signal_connect_object (GTK_OBJECT (button6), "clicked",GTK_SIGNAL_FUNC(add_filter_callback),GTK_OBJECT (GLOBALS->window_ptranslate_c_5));
    gtk_widget_show (button6);
    gtk_tooltips_set_tip_2(tooltips, button6, 
		"Bring up a file requester to add a process filter to the filter select window.",NULL);

    gtk_box_pack_start (GTK_BOX (hbox0), button6, TRUE, FALSE, 0);
    gtk_container_add (GTK_CONTAINER (frameh0), hbox0);

    frameh = gtk_frame_new (NULL);
    gtk_container_border_width (GTK_CONTAINER (frameh), 3);
    gtk_widget_show(frameh);
    gtk_table_attach (GTK_TABLE (table), frameh, 0, 1, 255, 256,
                        GTK_FILL | GTK_EXPAND,
                        GTK_FILL | GTK_EXPAND | GTK_SHRINK, 1, 1);


    hbox = gtk_hbox_new (FALSE, 1);
    gtk_widget_show (hbox);

    button1 = gtk_button_new_with_label (" OK ");
    gtk_container_border_width (GTK_CONTAINER (button1), 3);
    gtkwave_signal_connect_object (GTK_OBJECT (button1), "clicked",GTK_SIGNAL_FUNC(ok_callback),GTK_OBJECT (GLOBALS->window_ptranslate_c_5));
    gtk_widget_show (button1);
    gtk_tooltips_set_tip_2(tooltips, button1, 
		"Add selected signals to end of the display on the main window.",NULL);

    gtk_box_pack_start (GTK_BOX (hbox), button1, TRUE, FALSE, 0);

    button5 = gtk_button_new_with_label (" Cancel ");
    gtk_container_border_width (GTK_CONTAINER (button5), 3);
    gtkwave_signal_connect_object (GTK_OBJECT (button5), "clicked",GTK_SIGNAL_FUNC(destroy_callback),GTK_OBJECT (GLOBALS->window_ptranslate_c_5));
    gtk_tooltips_set_tip_2(tooltips, button5, 
		"Do nothing and return to the main window.",NULL);
    gtk_widget_show (button5);
    gtk_box_pack_start (GTK_BOX (hbox), button5, TRUE, FALSE, 0);

    gtk_container_add (GTK_CONTAINER (frameh), hbox);
    gtk_container_add (GTK_CONTAINER (GLOBALS->window_ptranslate_c_5), table);

    gtk_widget_set_usize(GTK_WIDGET(GLOBALS->window_ptranslate_c_5), 400, 400);
    gtk_widget_show(GLOBALS->window_ptranslate_c_5);
}
示例#16
0
int install_gui(GtkWidget *main_window, int w, int h, int x, int y)
{
   GtkWidget *scrolled_window;
   GtkWidget *button;
   GtkWidget *label;
   GtkWidget *pixmapwid;
   GdkPixmap *pixmap;
   GdkBitmap *mask;
   char temp_str[256];
   const char *svalue;
   gchar *titles[] = {"", _("Files to install")};

   if (filew) {
      return EXIT_SUCCESS;
   }

   clist_row_selected = 0;

   g_snprintf(temp_str, sizeof(temp_str), "%s %s", PN, _("Install"));
   filew = gtk_widget_new(GTK_TYPE_FILE_SELECTION,
                          "type", GTK_WINDOW_TOPLEVEL,
                          "title", temp_str,
                          NULL);

   gtk_window_set_default_size(GTK_WINDOW(filew), w, h);
   gtk_widget_set_uposition(filew, x, y);

   gtk_window_set_modal(GTK_WINDOW(filew), TRUE);
   gtk_window_set_transient_for(GTK_WINDOW(filew), GTK_WINDOW(main_window));

   get_pref(PREF_INSTALL_PATH, NULL, &svalue);
   if (svalue && svalue[0]) {
      gtk_file_selection_set_filename(GTK_FILE_SELECTION(filew), svalue);
   }

   gtk_file_selection_hide_fileop_buttons((gpointer) filew);

   gtk_widget_hide((GTK_FILE_SELECTION(filew)->cancel_button));
   gtk_signal_connect(GTK_OBJECT(filew), "destroy",
                      GTK_SIGNAL_FUNC(cb_destroy), filew);

   /* Even though I hide the ok button I still want to connect its signal */
   /* because a double click on the file name also calls this callback */
   gtk_widget_hide(GTK_WIDGET(GTK_FILE_SELECTION(filew)->ok_button));
   gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filew)->ok_button),
                      "clicked", GTK_SIGNAL_FUNC(cb_add), filew);

   clist = gtk_clist_new_with_titles(2, titles);
   gtk_widget_set_usize(GTK_WIDGET(clist), 0, 166);
   gtk_clist_column_titles_passive(GTK_CLIST(clist));
   gtk_clist_set_column_auto_resize(GTK_CLIST(clist), INST_SDCARD_COLUMN, TRUE);
   gtk_clist_set_selection_mode(GTK_CLIST(clist), GTK_SELECTION_BROWSE);

   get_pixmaps(clist, PIXMAP_SDCARD, &pixmap, &mask);
#ifdef __APPLE__
   mask = NULL;
#endif
   pixmapwid = gtk_pixmap_new(pixmap, mask);
   gtk_clist_set_column_widget(GTK_CLIST(clist), INST_SDCARD_COLUMN, pixmapwid);
   gtk_clist_set_column_justification(GTK_CLIST(clist), INST_SDCARD_COLUMN, GTK_JUSTIFY_CENTER);

   gtk_signal_connect(GTK_OBJECT(clist), "select_row",
                      GTK_SIGNAL_FUNC(cb_clist_selection), NULL);

   /* Scrolled Window for file list */
   scrolled_window = gtk_scrolled_window_new(NULL, NULL);
   gtk_container_add(GTK_CONTAINER(scrolled_window), GTK_WIDGET(clist));
   gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window),
                                  GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
   gtk_container_set_border_width(GTK_CONTAINER(scrolled_window), 5);
   gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(filew)->action_area),
                      scrolled_window, TRUE, TRUE, 0);

   label = gtk_label_new(_("To change to a hidden directory type it below and hit TAB"));
   gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(filew)->main_vbox),
                      label, FALSE, FALSE, 0);

   /* Add/Remove/Quit buttons */
   button = gtk_button_new_from_stock(GTK_STOCK_ADD);
   gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(filew)->ok_button->parent),
                      button, TRUE, TRUE, 0);
   gtk_signal_connect(GTK_OBJECT(button),
                      "clicked", GTK_SIGNAL_FUNC(cb_add), filew);

   button = gtk_button_new_from_stock(GTK_STOCK_REMOVE);
   gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(filew)->ok_button->parent),
                      button, TRUE, TRUE, 0);
   gtk_signal_connect(GTK_OBJECT(button),
                      "clicked", GTK_SIGNAL_FUNC(cb_remove), filew);

   button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
   gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(filew)->ok_button->parent),
                      button, TRUE, TRUE, 0);
   gtk_signal_connect(GTK_OBJECT(button),
                      "clicked", GTK_SIGNAL_FUNC(cb_quit), filew);

   /**********************************************************************/
   gtk_widget_show_all(filew);

   /* Hide default buttons not used by Jpilot file selector */
   gtk_widget_hide(GTK_FILE_SELECTION(filew)->cancel_button);
   gtk_widget_hide(GTK_FILE_SELECTION(filew)->ok_button);

   install_update_clist();

   gtk_main();

   return EXIT_SUCCESS;
}
void init_gui_playlist(void) {
  GtkWidget *li;
  GtkWidget *scroller;
  GtkWidget *box;
  GtkWidget *table1;
  GtkWidget *reload_button;
  GtkWidget * enqueue_button;

  selected_row = -1;
  dir_browser = NULL;
  list_dialog = NULL;
  files = NULL;

  /* Create and setup main window */
  library_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  //gtk_window_set_decorated(library_window, FALSE);
  
  //  gtk_widget_set_app_paintable(library_window, TRUE);
  //  gtk_window_set_policy( GTK_WINDOW(library_window), FALSE, FALSE, TRUE);

  /* Put the window into the xmms class, and hide it from the window list*/
  gtk_window_set_wmclass( GTK_WINDOW(library_window), "XMMS_MediaLibrary",
			  "xmms");
  gtk_window_set_transient_for( GTK_WINDOW(library_window), 
				GTK_WINDOW(mainwin) );
  //  hint_set_skip_winlist( library_window );

  gtk_window_set_default_size(GTK_WINDOW(library_window), 350, 350);
  gtk_window_set_title(GTK_WINDOW(library_window), "Media Library"); 

  /*  gtk_widget_set_events( library_window, GDK_FOCUS_CHANGE_MASK |
			 GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK |
			 GDK_BUTTON_RELEASE_MASK );
  */
  //  gtk_widget_realize( library_window );

  //  gtk_widget_set_usize( library_window, 300, 200 );

  /*  background = gdk_pixmap_new( NULL, 300, 200, gdk_rgb_get_visual()->depth );

  pl_gc = gdk_gc_new( library_window->window );

  printf("init\n");
  printf("%i\n", get_skin_color(SKIN_PLEDIT_NORMALBG));

  gdk_gc_set_foreground(pl_gc, get_skin_color(SKIN_PLEDIT_NORMALBG) );
  gdk_draw_rectangle( background, pl_gc, TRUE, 0, 0, 300, 200 );

  gdk_window_set_back_pixmap( library_window->window, background, 0);*/

  /* Remove the WMs decorations */
  //  gdk_window_set_decorations( library_window->window, 0);

  /* Setup list*/
  file_list = gtk_clist_new(1);

  g_signal_connect(GTK_OBJECT(file_list), "select-row",
		     GTK_SIGNAL_FUNC(file_list_select), NULL);

  g_signal_connect(GTK_OBJECT(file_list), "unselect-row",
		     GTK_SIGNAL_FUNC(file_list_unselect), NULL);

  g_signal_connect(GTK_OBJECT(file_list), "button-press-event",
		     G_CALLBACK(file_list_pressed), NULL);

  g_signal_connect(GTK_OBJECT(file_list), "key-press-event",
		     GTK_SIGNAL_FUNC(file_list_key_press), NULL);


  gtk_clist_set_column_title(GTK_CLIST(file_list), 0, "Title");
  gtk_clist_column_titles_passive(GTK_CLIST(file_list));
  gtk_clist_column_titles_show(GTK_CLIST(file_list));

  gtk_clist_set_selection_mode(GTK_CLIST(file_list), GTK_SELECTION_EXTENDED);

  gtk_widget_grab_default( GTK_OBJECT(file_list) );
  

  /* Setup the search field */
  search_field = gtk_entry_new();
  g_signal_connect(GTK_OBJECT(search_field), "changed",
		     GTK_SIGNAL_FUNC(search_modify), NULL);
  
  g_signal_connect(GTK_OBJECT(search_field), "key-press-event",
		     G_CALLBACK(search_field_keypress), NULL);

  /*  gtk_signal_connect(GTK_OBJECT(search_field), "focus-in-event",
      GTK_SIGNAL_FUNC(search_field_focus_in), NULL);*/

  /* Setup the search button 
  search_button = gtk_button_new_with_label("Search"); */

  /* Setup the reload button*/
  reload_button = gtk_button_new_with_label("Reload"); 
  g_signal_connect( GTK_OBJECT(reload_button), "clicked",
		      GTK_SIGNAL_FUNC(reload_button_clicked), NULL);

  /* Setup the play and enqueue-buttons */
  play_button = gtk_button_new_with_label("Play");
  play_button_handler_id = g_signal_connect(GTK_OBJECT(play_button), "clicked",
  			GTK_SIGNAL_FUNC(play_button_clicked), NULL);
  
  enqueue_button = gtk_button_new_with_label("Add");
  g_signal_connect(GTK_OBJECT(enqueue_button), "clicked",
  			GTK_SIGNAL_FUNC(enqueue_button_clicked), NULL);
			
  /* Set the scroller up*/
  scroller = gtk_scrolled_window_new(NULL, NULL);
  gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroller), 
				 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
  
  gtk_container_add(GTK_CONTAINER(scroller), file_list);

  /* Setup the labels 
  label1 = gtk_label_new("Total songs:");
  label2 = gtk_label_new("Songs showing:");

  gtk_label_set_justify(GTK_LABEL(label1), GTK_JUSTIFY_RIGHT);
  gtk_label_set_justify(GTK_LABEL(label2), GTK_JUSTIFY_RIGHT);

  total_count_label = gtk_label_new("-");
  showing_count_label = gtk_label_new("-");
  gtk_label_set_justify(GTK_LABEL(total_count_label), GTK_JUSTIFY_LEFT);
  gtk_label_set_justify(GTK_LABEL(showing_count_label), GTK_JUSTIFY_LEFT);*/

  /* Setup layout widgets*/
  layout_box = gtk_vbox_new(FALSE, 1);

  gtk_container_add(GTK_CONTAINER(library_window), layout_box);
  gtk_widget_show(layout_box);

  table = gtk_table_new(3,2, TRUE);

  gtk_box_pack_start(GTK_BOX(layout_box), table, FALSE, FALSE, 0);
  gtk_box_pack_start_defaults(GTK_BOX(layout_box), scroller);

  box = gtk_hbox_new(FALSE, 1);
  //gtk_box_pack_start(GTK_BOX(box), search_field, TRUE, TRUE, 0);

  /* The top 'bar'*/
  table1 = gtk_table_new(1, 4, FALSE);
  gtk_table_attach_defaults(GTK_TABLE(table1), search_field, 0,1,0,1); 
  gtk_table_attach_defaults(GTK_TABLE(table1), play_button, 1,2,0,1); 
  gtk_table_attach_defaults(GTK_TABLE(table1), enqueue_button, 2,3,0,1); 
  gtk_table_attach_defaults(GTK_TABLE(table1), reload_button, 3,4,0,1); 
  
/*  gtk_table_attach_defaults(GTK_TABLE(table1), reload_button, 2, 3, 0, 1);
  gtk_table_attach_defaults(GTK_TABLE(table1), add_random_button, 2, 3, 1, 2);
  gtk_table_attach_defaults(GTK_TABLE(table1), label1, 0,1, 0,1);
  gtk_table_attach_defaults(GTK_TABLE(table1), label2, 0,1, 1,2);
  gtk_table_attach_defaults(GTK_TABLE(table1), total_count_label, 1,2, 0,1);
  gtk_table_attach_defaults(GTK_TABLE(table1), showing_count_label, 1,2, 1,2);*/

  /* Add widgets to the table */
  gtk_table_attach_defaults(GTK_TABLE(table), table1, 0, 2, 0, 2);
  //gtk_table_attach_defaults(GTK_TABLE(table), box, 0, 2, 1, 3);


  /* Show all the widgets*/
  gtk_widget_show(reload_button);
  gtk_widget_show(play_button);
  gtk_widget_show(enqueue_button);
  //gtk_widget_show(box);
  gtk_widget_show(search_field);
  gtk_widget_show(scroller);
  gtk_widget_show(table1);
  gtk_widget_show(table);
  gtk_widget_show(file_list);

  /* And finally, show the window itself*/
  gtk_widget_show(library_window);

  //  dock_add_window(dock_window_list, library_window);
}
示例#18
0
GtkWidget *
fontsel_new (ProgressData *pdata)
{
  GtkWidget *paned;
  GtkWidget *clist;
  GtkWidget *clist2;
  GtkWidget *scrolled_window;

  paned = gtk_hpaned_new ();

  g_signal_new ("face_changed",
                GTK_TYPE_WIDGET,
                G_SIGNAL_RUN_LAST,
                0,
                NULL, NULL,
                g_cclosure_marshal_VOID__VOID,
                G_TYPE_NONE,
                0,
                NULL);

  g_object_set_data (G_OBJECT (paned), "progress_data", pdata);

  /*  family  */
  clist = gtk_clist_new (1);
  gtk_clist_set_column_title (GTK_CLIST (clist), 0, _("Font Family"));
  gtk_clist_column_titles_show (GTK_CLIST (clist));
  gtk_clist_column_titles_passive (GTK_CLIST (clist));
  gtk_widget_show (clist);

  scrolled_window =
    gtk_scrolled_window_new (gtk_clist_get_hadjustment (GTK_CLIST (clist)),
			     gtk_clist_get_vadjustment (GTK_CLIST (clist)));
  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
                                  GTK_POLICY_AUTOMATIC,
                                  GTK_POLICY_ALWAYS);
  gtk_container_add (GTK_CONTAINER (scrolled_window), clist);
  gtk_widget_show (scrolled_window);

  gtk_paned_pack1 (GTK_PANED (paned), scrolled_window, TRUE, FALSE);

  /*  style  */
  clist2 = gtk_clist_new (1);
  gtk_clist_set_column_title (GTK_CLIST (clist2), 0, _("Font Style"));
  gtk_clist_column_titles_show (GTK_CLIST (clist2));
  gtk_clist_column_titles_passive (GTK_CLIST (clist2));
  gtk_widget_show (clist2);

  scrolled_window =
    gtk_scrolled_window_new (gtk_clist_get_hadjustment (GTK_CLIST (clist2)),
			     gtk_clist_get_vadjustment (GTK_CLIST (clist2)));
  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
                                  GTK_POLICY_AUTOMATIC,
                                  GTK_POLICY_ALWAYS);
  gtk_container_add (GTK_CONTAINER (scrolled_window), clist2);
  gtk_widget_show (scrolled_window);

  gtk_paned_pack2 (GTK_PANED (paned), scrolled_window, TRUE, FALSE);

  g_signal_connect (clist, "select_row",
                    G_CALLBACK (fontsel_family_select_callback),
                    clist2);
  g_signal_connect (clist2, "select_row",
                    G_CALLBACK (fontsel_style_select_callback),
                    paned);

  g_object_set_data (G_OBJECT (paned), "family_list", clist);
  g_object_set_data (G_OBJECT (paned), "style_list",  clist2);

  return paned;
}
/*  If title == NULL then it is the main gradient select dialog  */
GradientSelect *
gradient_select_new (gchar *title,
		     gchar *initial_gradient)
{
  GradientSelect  *gsp;
  GtkWidget       *vbox;
  GtkWidget       *scrolled_win;
  GdkColormap     *colormap;
  gchar           *titles[2];
  gint             column_width;
  gint             select_pos;

  gradient_t      *active = NULL;

  static gboolean  first_call = TRUE;

  gsp = g_new (GradientSelect, 1);
  gsp->callback_name = NULL;
  gsp->dnd_gradient = NULL;
  
  /*  The shell  */
  /*
  gsp->shell = gimp_dialog_new (title ? title : _("Gradient Selection"),
				"gradient_selection",
				gimp_standard_help_func,
				"dialogs/gradient_selection.html",
				title ? GTK_WIN_POS_MOUSE : GTK_WIN_POS_NONE,
				FALSE, TRUE, FALSE,

				_("Edit"), gradient_select_edit_callback,
				gsp, NULL, NULL, FALSE, FALSE,
				_("Close"), gradient_select_close_callback,
				gsp, NULL, NULL, TRUE, TRUE,

				NULL);
  
  if (title)
    {
      gsp->context = gimp_context_new (title, NULL);
    }
  else
    {
      gsp->context = gimp_context_get_user ();

      session_set_window_geometry (gsp->shell, &gradient_select_session_info,
				   TRUE);
      dialog_register (gsp->shell);
    }

  if (no_data && first_call)
    gradients_init (FALSE);
  */
  first_call = FALSE;

  if (title && initial_gradient && strlen (initial_gradient))
    {
      active = gradient_list_get_gradient (gradients_list, initial_gradient);
    }
  else
    {
		/*
      active = gimp_context_get_gradient (gimp_context_get_user ());
		*/
    }

  if (!active)
    {
		/*
      active = gimp_context_get_gradient (gimp_context_get_standard ());
		*/
    }

  if (title)
    {
		/*
      gimp_context_set_gradient (gsp->context, active);
		*/
    }

  vbox = gtk_vbox_new (FALSE, 0);
  gtk_container_set_border_width (GTK_CONTAINER (vbox), 2);
  gtk_container_add (GTK_CONTAINER (GTK_DIALOG (gsp->shell)->vbox), vbox);

  /*  clist preview of gradients  */
  scrolled_win = gtk_scrolled_window_new (NULL, NULL);
  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
				  GTK_POLICY_AUTOMATIC,
				  GTK_POLICY_ALWAYS);
  gtk_container_add (GTK_CONTAINER (vbox), scrolled_win);
  gtk_widget_show (scrolled_win);

  titles[0] = _("Gradient");
  titles[1] = _("Name");
  gsp->clist = gtk_clist_new_with_titles (2, titles);
  gtk_clist_set_shadow_type (GTK_CLIST (gsp->clist), GTK_SHADOW_IN);
  gtk_clist_set_selection_mode (GTK_CLIST (gsp->clist), GTK_SELECTION_BROWSE);
  gtk_clist_set_row_height (GTK_CLIST (gsp->clist), 18);
  gtk_clist_set_use_drag_icons (GTK_CLIST (gsp->clist), FALSE);
  gtk_clist_column_titles_passive (GTK_CLIST (gsp->clist));
  gtk_widget_set_usize (gsp->clist, 200, 250);
  gtk_container_add (GTK_CONTAINER (scrolled_win), gsp->clist);

  column_width =
    MAX (50, gtk_clist_optimal_column_width (GTK_CLIST (gsp->clist), 0));
  gtk_clist_set_column_min_width (GTK_CLIST (gsp->clist), 0, 50);
  gtk_clist_set_column_width (GTK_CLIST (gsp->clist), 0, column_width);

  gtk_widget_show (gsp->clist);

  colormap = gtk_widget_get_colormap (gsp->clist);
  gdk_color_parse ("black", &gsp->black);
  gdk_color_alloc (colormap, &gsp->black);

  gtk_widget_realize (gsp->shell);
  gsp->gc = gdk_gc_new (gsp->shell->window);

  select_pos = gradient_clist_init (gsp->shell, gsp->gc, gsp->clist, active);

  /* Now show the dialog */
  gtk_widget_show (vbox);
  gtk_widget_show (gsp->shell);

  gtk_signal_connect (GTK_OBJECT (gsp->clist), "button_press_event",
		      GTK_SIGNAL_FUNC (gradient_select_button_press),
		      (gpointer) gsp);

  gtk_signal_connect (GTK_OBJECT (gsp->clist), "select_row",
		      GTK_SIGNAL_FUNC (gradient_select_list_item_update),
		      (gpointer) gsp);

  gtk_signal_connect (GTK_OBJECT (gsp->context), "gradient_changed",
                      GTK_SIGNAL_FUNC (gradient_select_gradient_changed),
                      (gpointer) gsp);

  /*  dnd stuff  */
  /*
  gtk_drag_source_set (gsp->clist,
		       GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
		       clist_target_table, clist_n_targets,
		       GDK_ACTION_COPY);
  
  gimp_dnd_gradient_source_set (gsp->clist, gradient_select_drag_gradient, gsp);

  gtk_drag_dest_set (gsp->clist,
                     GTK_DEST_DEFAULT_ALL,
                     clist_target_table, clist_n_targets,
                     GDK_ACTION_COPY);
  gimp_dnd_gradient_dest_set (gsp->clist, gradient_select_drop_gradient, gsp);
  */

  if (active)
    gradient_select_select (gsp, active);

  /*  Add to active gradient dialogs list  */
  gradient_active_dialogs = g_slist_append (gradient_active_dialogs, gsp);

  return gsp;
}
示例#20
0
void
create_loglist(void)
{
  GtkWidget *mvb,*sw,*dhb,*dhw[30];
  GdkBitmap *mask;
  GdkPixmap *myicon;
  GtkStyle *style;
  GList *pt;
  int i;

  applet=gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_default_size(GTK_WINDOW(applet),780,510);
  gtk_window_set_title (GTK_WINDOW (applet), "YAWMPPP Connection Log");
  gtk_window_set_wmclass(GTK_WINDOW(applet),"yawmppp","log");
  gtk_container_set_border_width(GTK_CONTAINER(applet),4);
  gtk_widget_show (applet);

  style=gtk_widget_get_style(applet);
  myicon = gdk_pixmap_create_from_xpm_d (applet->window, &mask,
				       &style->bg[GTK_STATE_NORMAL],
				       (gchar **) stepphone_xpm);
  gdk_window_set_icon (applet->window, NULL, myicon, mask);
  gdk_window_set_icon_name(applet->window,"The Log");

  mvb=gtk_vbox_new(FALSE,0);
  gtk_container_add(GTK_CONTAINER(applet),mvb);

  dhb=gtk_hbox_new(FALSE,0);
  gtk_box_pack_start(GTK_BOX(mvb),dhb,FALSE,TRUE,0);

  /* data */
  dhw[0]=gtk_label_new("Show summary for:");
  gtk_box_pack_start(GTK_BOX(dhb),dhw[0],FALSE,FALSE,4);

  dhw[1]=gtk_option_menu_new();
  gtk_box_pack_start(GTK_BOX(dhb),dhw[1],FALSE,FALSE,2);

  dhw[2]=gtk_menu_new();

  for(i=0;i<10;i++) {
    dhw[3]=gtk_menu_item_new_with_label(resumeo[i]);
    gtk_signal_connect(GTK_OBJECT(dhw[3]),"activate",
		       GTK_SIGNAL_FUNC(time_menu),&nsrc[i]);
    gtk_menu_append(GTK_MENU(dhw[2]),dhw[3]);
    gtk_widget_show(dhw[3]);
  }

  gtk_option_menu_set_menu(GTK_OPTION_MENU(dhw[1]),dhw[2]);

  dhw[12]=gtk_label_new("include entries from");
  gtk_box_pack_start(GTK_BOX(dhb),dhw[12],FALSE,FALSE,4);
  dhw[13]=gtk_option_menu_new();
  gtk_box_pack_start(GTK_BOX(dhb),dhw[13],FALSE,FALSE,2);

  dhw[14]=gtk_menu_new();

  for(i=0,pt=isps;pt!=NULL;pt=g_list_next(pt),i++) {
    dhw[3]=gtk_menu_item_new_with_label((char *)(pt->data));
    gtk_signal_connect(GTK_OBJECT(dhw[3]),"activate",
		       GTK_SIGNAL_FUNC(isp_menu),&nsrc[i]);
    gtk_menu_append(GTK_MENU(dhw[14]),dhw[3]);
    gtk_widget_show(dhw[3]);
  }

  gtk_option_menu_set_menu(GTK_OPTION_MENU(dhw[13]),dhw[14]);


  dhw[15]=gtk_label_new("include connections as");
  gtk_box_pack_start(GTK_BOX(dhb),dhw[15],FALSE,FALSE,4);
  dhw[16]=gtk_option_menu_new();
  gtk_box_pack_start(GTK_BOX(dhb),dhw[16],FALSE,FALSE,2);

  dhw[17]=gtk_menu_new();

  for(i=0,pt=users;pt!=NULL;pt=g_list_next(pt),i++) {
    dhw[3]=gtk_menu_item_new_with_label((char *)(pt->data));
    gtk_signal_connect(GTK_OBJECT(dhw[3]),"activate",
		       GTK_SIGNAL_FUNC(user_menu),&nsrc[i]);
    gtk_menu_append(GTK_MENU(dhw[17]),dhw[3]);
    gtk_widget_show(dhw[3]);
  }

  gtk_option_menu_set_menu(GTK_OPTION_MENU(dhw[16]),dhw[17]);

  dhw[5]=gtk_hseparator_new();
  gtk_box_pack_start(GTK_BOX(mvb),dhw[5],FALSE,FALSE,3);

  dhw[3]=gtk_hbox_new(FALSE,4);
  gtk_box_pack_start(GTK_BOX(mvb),dhw[3],FALSE,TRUE,3);

  dhw[4]=lresume[0]=gtk_label_new("\n\n\n\n\n");
  dhw[6]=lresume[1]=gtk_label_new("\n\n\n\n\n");

  for(i=0;i<2;i++)
    gtk_label_set_justify(GTK_LABEL(lresume[i]),GTK_JUSTIFY_LEFT);

  gtk_box_pack_start(GTK_BOX(dhw[3]),dhw[4],FALSE,TRUE,4);
  gtk_box_pack_start(GTK_BOX(dhw[3]),dhw[6],FALSE,TRUE,4);

  hgraph=dhw[7]=gtk_drawing_area_new();
  gtk_drawing_area_size(GTK_DRAWING_AREA(dhw[7]),24*9+2,120);
  gtk_widget_set_events(dhw[7],GDK_EXPOSURE_MASK);

  gtk_box_pack_start(GTK_BOX(dhw[3]),dhw[7],FALSE,FALSE,4);

  wgraph=dhw[8]=gtk_drawing_area_new();
  gtk_drawing_area_size(GTK_DRAWING_AREA(dhw[8]),7*20+2,120);
  gtk_widget_set_events(dhw[8],GDK_EXPOSURE_MASK);

  gtk_box_pack_start(GTK_BOX(dhw[3]),dhw[8],FALSE,FALSE,4);

  dhw[11]=gtk_hseparator_new();
  gtk_box_pack_start(GTK_BOX(mvb),dhw[11],FALSE,FALSE,4);

  dhw[9]=gtk_hbox_new(FALSE,2);
  dhw[10]=gtk_label_new("Raw log listing (unfiltered):");

  gtk_box_pack_start(GTK_BOX(mvb),dhw[9],FALSE,FALSE,4);
  gtk_box_pack_start(GTK_BOX(dhw[9]),dhw[10],FALSE,FALSE,2);

  /* list */

  sw=gtk_scrolled_window_new(NULL,NULL);
  gtk_box_pack_start(GTK_BOX(mvb),sw,TRUE,TRUE,4);
  gtk_widget_show(sw);
  gtk_container_set_border_width(GTK_CONTAINER(sw),0);

  loglist=gtk_clist_new(8);
  gtk_clist_set_shadow_type(GTK_CLIST(loglist),GTK_SHADOW_IN);
  gtk_clist_set_selection_mode(GTK_CLIST(loglist),GTK_SELECTION_SINGLE);
  for(i=0;i<8;i++) {
    gtk_clist_set_column_title(GTK_CLIST(loglist),i,titles[i]);
    gtk_clist_set_column_width(GTK_CLIST(loglist),i,colsize[i]);
  }
  gtk_clist_column_titles_passive(GTK_CLIST(loglist));
  gtk_clist_column_titles_show(GTK_CLIST(loglist));
  gtk_clist_set_row_height(GTK_CLIST(loglist),16);
  gtk_clist_set_column_auto_resize(GTK_CLIST(loglist),1,FALSE);
  gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
				 GTK_POLICY_AUTOMATIC,
				 GTK_POLICY_ALWAYS);
  gtk_container_add(GTK_CONTAINER(sw),loglist);
  gtk_widget_show(loglist);

  /* bottom */

  dhw[18]=gtk_hseparator_new();
  gtk_box_pack_start(GTK_BOX(mvb),dhw[18],FALSE,FALSE,4);

  dhw[19]=gtk_table_new(1,6,TRUE);
  dhw[21]=gtk_button_new_with_label(" About... ");
  dhw[22]=gtk_button_new_with_label(" Close ");

  dhw[23]=gtk_hbox_new(TRUE,6);

  gtk_box_pack_start(GTK_BOX(mvb),dhw[19],FALSE,FALSE,4);

  gtk_table_attach_defaults(GTK_TABLE(dhw[19]),dhw[23],4,6,0,1);

  gtk_box_pack_start(GTK_BOX(dhw[23]),dhw[21],FALSE,TRUE,4);
  gtk_box_pack_start(GTK_BOX(dhw[23]),dhw[22],FALSE,TRUE,4);

  for(i=0;i<24;i++)
    if (i!=20)
      gtk_widget_show(dhw[i]);
  gtk_widget_show(dhb);
  gtk_widget_show(mvb);

  iconmap[0] = gdk_pixmap_create_from_xpm_d (applet->window, &maskmap[0],
					     &style->bg[GTK_STATE_NORMAL],
					     (gchar **) status_ok_xpm);
  iconmap[1] = gdk_pixmap_create_from_xpm_d (applet->window, &maskmap[1],
					     &style->bg[GTK_STATE_NORMAL],
					     (gchar **) status_error_xpm);
  iconmap[2] = gdk_pixmap_create_from_xpm_d (applet->window, &maskmap[2],
					     &style->bg[GTK_STATE_NORMAL],
					     (gchar **) status_crash_xpm);

  /* signal plumbing */
  gtk_signal_connect (GTK_OBJECT (applet), "delete_event",
		      GTK_SIGNAL_FUNC (applet_kill), NULL);
  gtk_signal_connect (GTK_OBJECT (applet), "destroy",
		      GTK_SIGNAL_FUNC (applet_destroy), NULL);
  gtk_signal_connect (GTK_OBJECT (hgraph), "expose_event",
		      GTK_SIGNAL_FUNC (hgra_expose), NULL);
  gtk_signal_connect (GTK_OBJECT (hgraph), "configure_event",
		      GTK_SIGNAL_FUNC (hgra_configure), NULL);
  gtk_signal_connect (GTK_OBJECT (wgraph), "expose_event",
		      GTK_SIGNAL_FUNC (wgra_expose), NULL);
  gtk_signal_connect (GTK_OBJECT (wgraph), "configure_event",
		      GTK_SIGNAL_FUNC (wgra_configure), NULL);

  gtk_signal_connect (GTK_OBJECT (dhw[21]), "clicked",
		      GTK_SIGNAL_FUNC (applet_about),
		      (gpointer)GTK_WINDOW(applet));
  gtk_signal_connect (GTK_OBJECT (dhw[22]), "clicked",
		      GTK_SIGNAL_FUNC (applet_destroy), NULL);
}
static int show_console(void)
{
	GtkWidget *hbox;
	GtkWidget *wbox;
	GtkWidget *notebook;
	GtkWidget *sw;
	GtkWidget *bbox, *hbbox, *add, *removew, *reloadw;
	char *modtitles[3] = { "Module", "Description", "Use Count" };
	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	
	statusbar = gtk_statusbar_new();
	gtk_widget_show(statusbar);
	
	gtk_signal_connect(GTK_OBJECT(window), "delete_event",
			GTK_SIGNAL_FUNC (exit_nicely), window);
	gtk_signal_connect(GTK_OBJECT(window), "destroy",
			GTK_SIGNAL_FUNC (exit_now), window);
	gtk_container_set_border_width(GTK_CONTAINER(window), 10);

	quit = gtk_button_new_with_label("Quit Asterisk");
	gtk_signal_connect(GTK_OBJECT(quit), "clicked",
			GTK_SIGNAL_FUNC (exit_completely), window);
	gtk_widget_show(quit);

	closew = gtk_button_new_with_label("Close Window");
	gtk_signal_connect(GTK_OBJECT(closew), "clicked",
			GTK_SIGNAL_FUNC (exit_nicely), window);
	gtk_widget_show(closew);

	notebook = gtk_notebook_new();
	verb = gtk_clist_new(1);
	gtk_clist_columns_autosize(GTK_CLIST(verb));
	sw = gtk_scrolled_window_new(NULL, NULL);
	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
	gtk_container_add(GTK_CONTAINER(sw), verb);
	gtk_widget_show(verb);
	gtk_widget_show(sw);
	gtk_widget_set_usize(verb, 640, 400);
	gtk_notebook_append_page(GTK_NOTEBOOK(notebook), sw, gtk_label_new("Verbose Status"));

	
	modules = gtk_clist_new_with_titles(3, modtitles);
	gtk_clist_columns_autosize(GTK_CLIST(modules));
	gtk_clist_set_column_auto_resize(GTK_CLIST(modules), 0, TRUE);
	gtk_clist_set_column_auto_resize(GTK_CLIST(modules), 1, TRUE);
	gtk_clist_set_column_auto_resize(GTK_CLIST(modules), 2, TRUE);
	gtk_clist_set_sort_column(GTK_CLIST(modules), 0);
	gtk_clist_set_auto_sort(GTK_CLIST(modules), TRUE);
	gtk_clist_column_titles_passive(GTK_CLIST(modules));
	sw = gtk_scrolled_window_new(NULL, NULL);
	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
	gtk_container_add(GTK_CONTAINER(sw), modules);
	gtk_clist_set_selection_mode(GTK_CLIST(modules), GTK_SELECTION_BROWSE);
	gtk_widget_show(modules);
	gtk_widget_show(sw);

	add = gtk_button_new_with_label("Load...");
	gtk_widget_show(add);
	removew = gtk_button_new_with_label("Unload");
	gtk_widget_show(removew);
	reloadw = gtk_button_new_with_label("Reload");
	gtk_widget_show(reloadw);
	gtk_signal_connect(GTK_OBJECT(removew), "clicked",
			GTK_SIGNAL_FUNC (remove_module), window);
	gtk_signal_connect(GTK_OBJECT(add), "clicked",
			GTK_SIGNAL_FUNC (add_module), window);
	gtk_signal_connect(GTK_OBJECT(reloadw), "clicked",
			GTK_SIGNAL_FUNC (reload_module), window);
		
	bbox = gtk_vbox_new(FALSE, 5);
	gtk_widget_show(bbox);

	gtk_widget_set_usize(bbox, 100, -1);
	gtk_box_pack_start(GTK_BOX(bbox), add, FALSE, FALSE, 5);
	gtk_box_pack_start(GTK_BOX(bbox), removew, FALSE, FALSE, 5);
	gtk_box_pack_start(GTK_BOX(bbox), reloadw, FALSE, FALSE, 5);

	hbbox = gtk_hbox_new(FALSE, 5);
	gtk_widget_show(hbbox);
	
	gtk_box_pack_start(GTK_BOX(hbbox), sw, TRUE, TRUE, 5);
	gtk_box_pack_start(GTK_BOX(hbbox), bbox, FALSE, FALSE, 5);

	gtk_notebook_append_page(GTK_NOTEBOOK(notebook), hbbox, gtk_label_new("Module Information"));

	gtk_widget_show(notebook);

	wbox = gtk_hbox_new(FALSE, 5);
	gtk_widget_show(wbox);
	gtk_box_pack_end(GTK_BOX(wbox), quit, FALSE, FALSE, 5);
	gtk_box_pack_end(GTK_BOX(wbox), closew, FALSE, FALSE, 5);

	hbox = gtk_vbox_new(FALSE, 0);
	gtk_widget_show(hbox);
	
	/* Command line */
	cli = gtk_entry_new();
	gtk_widget_show(cli);

	gtk_signal_connect(GTK_OBJECT(cli), "activate",
			GTK_SIGNAL_FUNC (cli_activate), NULL);

	gtk_box_pack_start(GTK_BOX(hbox), notebook, TRUE, TRUE, 5);
	gtk_box_pack_start(GTK_BOX(hbox), wbox, FALSE, FALSE, 5);
	gtk_box_pack_start(GTK_BOX(hbox), cli, FALSE, FALSE, 0);
	gtk_box_pack_start(GTK_BOX(hbox), statusbar, FALSE, FALSE, 0);
	gtk_container_add(GTK_CONTAINER(window), hbox);
	gtk_window_set_title(GTK_WINDOW(window), "Asterisk Console");
	gtk_widget_grab_focus(cli);
	ast_pthread_create(&console_thread, NULL, consolethread, NULL);
	/* XXX Okay, seriously fix me! XXX */
	usleep(100000);
	ast_register_verbose(verboser);
	gtk_clist_freeze(GTK_CLIST(verb));
	ast_loader_register(mod_update);
	gtk_clist_thaw(GTK_CLIST(verb));
	gdk_input_add(clipipe[0], GDK_INPUT_READ, cliinput, NULL);
	mod_update();
	update_statusbar("Asterisk Console Ready");
	return 0;
}
示例#22
0
/*
 * mainline..
 */
void searchbox(char *title, GtkSignalFunc func)
{
    int i;
    GtkWidget *menu, *menuitem, *optionmenu;
    GSList *group;
    GtkWidget *small_hbox;

    GtkWidget *scrolled_win;
    GtkWidget *vbox1, *hbox, *hbox0;
    GtkWidget *button1, *button2, *button3, *button3a, *button4, *button5, *button6, *button7;
    GtkWidget *label;
    gchar *titles[]={"Matches"};
    GtkWidget *frame1, *frame2, *frameh, *frameh0;
    GtkWidget *table;
    GtkTooltips *tooltips;
    GtkAdjustment *adj;
    GtkWidget *align;

    if(is_active) 
	{
	gdk_window_raise(window->window);
	return;
	}

    is_active=1;
    cleanup=func;
    num_rows=selected_rows=0;

    /* create a new modal window */
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title(GTK_WINDOW (window), title);
    gtk_signal_connect(GTK_OBJECT (window), "delete_event",
                       (GtkSignalFunc) destroy_callback, NULL);

    tooltips=gtk_tooltips_new_2();

    table = gtk_table_new (256, 1, FALSE);
    gtk_widget_show (table);

    vbox1 = gtk_vbox_new (FALSE, 0);
    gtk_container_border_width (GTK_CONTAINER (vbox1), 3);
    gtk_widget_show (vbox1);
    frame1 = gtk_frame_new (NULL);
    gtk_container_border_width (GTK_CONTAINER (frame1), 3);
    gtk_widget_show(frame1);
    gtk_table_attach (GTK_TABLE (table), frame1, 0, 1, 0, 1,
                        GTK_FILL | GTK_EXPAND,
                        GTK_FILL | GTK_EXPAND | GTK_SHRINK, 1, 1);

    label=gtk_label_new("Signal Search Expression");
    gtk_widget_show(label);

    gtk_box_pack_start (GTK_BOX (vbox1), label, TRUE, TRUE, 0);

    entry = gtk_entry_new_with_max_length (256);
    gtk_signal_connect(GTK_OBJECT(entry), "activate",
		       GTK_SIGNAL_FUNC(enter_callback),
		       entry);
    gtk_entry_set_text (GTK_ENTRY (entry), searchbox_text);
    gtk_entry_select_region (GTK_ENTRY (entry),
			     0, GTK_ENTRY(entry)->text_length);
    gtk_widget_show (entry);
    gtk_tooltips_set_tip_2(tooltips, entry, 
		"Enter search expression here.  POSIX Wildcards are allowed.  Note that you may also "
		"modify the search criteria by selecting ``[W]Range'', ``[W]Strand'', or ``None'' for suffix "
		"matching.",NULL);

    gtk_box_pack_start (GTK_BOX (vbox1), entry, TRUE, TRUE, 0);

    /* Allocate memory for the data that is used later */
    pdata = calloc_2(1, sizeof(SearchProgressData) );
    pdata->value = pdata->oldvalue = 0.0;
    /* Create a centering alignment object */  
    align = gtk_alignment_new (0.5, 0.5, 0, 0);
    gtk_widget_show(align);
    /* Create a Adjustment object to hold the range of the
     * progress bar */
    adj = (GtkAdjustment *) gtk_adjustment_new (0.0, 0.0, (gfloat)((numfacs>1)?numfacs-1:1), 0, 0, 0);
    pdata->adj = adj;
    /* Create the GtkProgressBar using the adjustment */
    pdata->pbar = gtk_progress_bar_new_with_adjustment (adj);
    /* Set the format of the string that can be displayed in the
     * trough of the progress bar:
     * %p - percentage
     * %v - value
     * %l - lower range value
     * %u - upper range value */
    gtk_progress_set_format_string (GTK_PROGRESS (pdata->pbar), "(%p%%)");
    gtk_progress_set_show_text (GTK_PROGRESS (pdata->pbar), TRUE);
    gtk_widget_show(pdata->pbar);
    gtk_box_pack_start (GTK_BOX (vbox1), pdata->pbar, TRUE, TRUE, 0);

    gtk_container_add (GTK_CONTAINER (frame1), vbox1);


    frame2 = gtk_frame_new (NULL);
    gtk_container_border_width (GTK_CONTAINER (frame2), 3);
    gtk_widget_show(frame2);

    gtk_table_attach (GTK_TABLE (table), frame2, 0, 1, 1, 254,
                        GTK_FILL | GTK_EXPAND,
                        GTK_FILL | GTK_EXPAND | GTK_SHRINK, 1, 1);

    clist=gtk_clist_new_with_titles(1,titles);
    gtk_clist_column_titles_passive(GTK_CLIST(clist)); 

    gtk_clist_set_selection_mode(GTK_CLIST(clist), GTK_SELECTION_EXTENDED);
    gtk_signal_connect_object (GTK_OBJECT (clist), "select_row",
			       GTK_SIGNAL_FUNC(select_row_callback),
			       NULL);
    gtk_signal_connect_object (GTK_OBJECT (clist), "unselect_row",
			       GTK_SIGNAL_FUNC(unselect_row_callback),
			       NULL);
    gtk_widget_show (clist);

    scrolled_win = gtk_scrolled_window_new (NULL, NULL);
    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
                                      GTK_POLICY_AUTOMATIC,
                                      GTK_POLICY_AUTOMATIC);
    gtk_widget_set_usize( GTK_WIDGET (scrolled_win), -1, 300);
    gtk_widget_show(scrolled_win);

    /* gtk_scrolled_window_add_with_viewport doesn't seen to work right here.. */
    gtk_container_add (GTK_CONTAINER (scrolled_win), clist);

    gtk_container_add (GTK_CONTAINER (frame2), scrolled_win);


    frameh0 = gtk_frame_new (NULL);
    gtk_container_border_width (GTK_CONTAINER (frameh0), 3);
    gtk_widget_show(frameh0);
    gtk_table_attach (GTK_TABLE (table), frameh0, 0, 1, 254, 255,
                        GTK_FILL | GTK_EXPAND,
                        GTK_FILL | GTK_EXPAND | GTK_SHRINK, 1, 1);


    hbox0 = gtk_hbox_new (FALSE, 1);
    gtk_widget_show (hbox0);

    button6 = gtk_button_new_with_label (" Select All ");
    gtk_container_border_width (GTK_CONTAINER (button6), 3);
    gtk_signal_connect_object (GTK_OBJECT (button6), "clicked",
			       GTK_SIGNAL_FUNC(select_all_callback),
			       GTK_OBJECT (window));
    gtk_widget_show (button6);
    gtk_tooltips_set_tip_2(tooltips, button6, 
		"Highlight all signals listed in the match window.",NULL);

    gtk_box_pack_start (GTK_BOX (hbox0), button6, TRUE, FALSE, 0);



    menu = gtk_menu_new ();
    group=NULL;

    small_hbox = gtk_hbox_new (TRUE, 0);
    gtk_widget_show (small_hbox);
    
    for(i=0;i<5;i++)
        {
        menuitem = gtk_radio_menu_item_new_with_label (group, regex_name[i]);
        group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (menuitem));
        gtk_menu_append (GTK_MENU (menu), menuitem);
        gtk_widget_show (menuitem);
        gtk_signal_connect(GTK_OBJECT (menuitem), "activate",
                                 GTK_SIGNAL_FUNC(regex_clicked),
                                 &regex_mutex[i]);
        regex_mutex[i]=0;
        }
    
        regex_mutex[0]=1;     /* "range" */
    
        optionmenu = gtk_option_menu_new ();
        gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu), menu);
        gtk_box_pack_start (GTK_BOX (small_hbox), optionmenu, TRUE, FALSE, 0);
        gtk_widget_show (optionmenu);   
	gtk_tooltips_set_tip_2(tooltips, optionmenu,
		"You may "
		"modify the search criteria by selecting ``Range'', ``Strand'', or ``None'' for suffix "
		"matching.  This optionally matches the string you enter in the search string above with a Verilog "
		"format range (signal[7:0]), a strand (signal.1, signal.0), or with no suffix.  "
		"The ``W'' modifier for ``Range'' and ``Strand'' explicitly matches on word boundaries.  "
		"(addr matches unit.freezeaddr[63:0] for ``Range'' but only unit.addr[63:0] for ``WRange'' since addr has to be on a word boundary.  "
		"Note that when ``None'' "
		"is selected, the search string may be located anywhere in the signal name.",NULL);
    
        gtk_box_pack_start (GTK_BOX (hbox0), small_hbox, FALSE, FALSE, 0);


    button7 = gtk_button_new_with_label (" Unselect All ");
    gtk_container_border_width (GTK_CONTAINER (button7), 3);
    gtk_signal_connect_object (GTK_OBJECT (button7), "clicked",
			       GTK_SIGNAL_FUNC(unselect_all_callback),
			       GTK_OBJECT (window));
    gtk_widget_show (button7);
    gtk_tooltips_set_tip_2(tooltips, button7, 
		"Unhighlight all signals listed in the match window.",NULL);
    gtk_box_pack_start (GTK_BOX (hbox0), button7, TRUE, FALSE, 0);

    gtk_container_add (GTK_CONTAINER (frameh0), hbox0);


    frameh = gtk_frame_new (NULL);
    gtk_container_border_width (GTK_CONTAINER (frameh), 3);
    gtk_widget_show(frameh);
    gtk_table_attach (GTK_TABLE (table), frameh, 0, 1, 255, 256,
                        GTK_FILL | GTK_EXPAND,
                        GTK_FILL | GTK_EXPAND | GTK_SHRINK, 1, 1);


    hbox = gtk_hbox_new (FALSE, 1);
    gtk_widget_show (hbox);

    button1 = gtk_button_new_with_label ("Append");
    gtk_container_border_width (GTK_CONTAINER (button1), 3);
    gtk_signal_connect_object (GTK_OBJECT (button1), "clicked",
			       GTK_SIGNAL_FUNC(ok_callback),
			       GTK_OBJECT (window));
    gtk_widget_show (button1);
    gtk_tooltips_set_tip_2(tooltips, button1, 
		"Add selected signals to end of the display on the main window.",NULL);

    gtk_box_pack_start (GTK_BOX (hbox), button1, TRUE, FALSE, 0);

    button2 = gtk_button_new_with_label (" Insert ");
    gtk_container_border_width (GTK_CONTAINER (button2), 3);
    gtk_signal_connect_object (GTK_OBJECT (button2), "clicked",
			       GTK_SIGNAL_FUNC(insert_callback),
			       GTK_OBJECT (window));
    gtk_widget_show (button2);
    gtk_tooltips_set_tip_2(tooltips, button2, 
		"Add selected signals after last highlighted signal on the main window.",NULL);
    gtk_box_pack_start (GTK_BOX (hbox), button2, TRUE, FALSE, 0);

    if(vcd_explicit_zero_subscripts>=0)
	{
	button3 = gtk_button_new_with_label (" Bundle Up ");
    	gtk_container_border_width (GTK_CONTAINER (button3), 3);
    	gtk_signal_connect_object (GTK_OBJECT (button3), "clicked",
			       GTK_SIGNAL_FUNC(bundle_callback_up),
			       GTK_OBJECT (window));
    	gtk_widget_show (button3);
    	gtk_tooltips_set_tip_2(tooltips, button3, 
		"Bundle selected signals into a single bit vector with the topmost selected signal as the LSB and the lowest as the MSB.",NULL);
    	gtk_box_pack_start (GTK_BOX (hbox), button3, TRUE, FALSE, 0);

    	button3a = gtk_button_new_with_label (" Bundle Down ");
    	gtk_container_border_width (GTK_CONTAINER (button3a), 3);
    	gtk_signal_connect_object (GTK_OBJECT (button3a), "clicked",
			       GTK_SIGNAL_FUNC(bundle_callback_down),
			       GTK_OBJECT (window));
    	gtk_widget_show (button3a);
    	gtk_tooltips_set_tip_2(tooltips, button3a, 
		"Bundle selected signals into a single bit vector with the topmost selected signal as the MSB and the lowest as the LSB.",NULL);
	gtk_box_pack_start (GTK_BOX (hbox), button3a, TRUE, FALSE, 0);
	}

    button4 = gtk_button_new_with_label (" Replace ");
    gtk_container_border_width (GTK_CONTAINER (button4), 3);
    gtk_signal_connect_object (GTK_OBJECT (button4), "clicked",
			       GTK_SIGNAL_FUNC(replace_callback),
			       GTK_OBJECT (window));
    gtk_widget_show (button4);
    gtk_tooltips_set_tip_2(tooltips, button4, 
		"Replace highlighted signals on the main window with signals selected above.",NULL);
    gtk_box_pack_start (GTK_BOX (hbox), button4, TRUE, FALSE, 0);

    button5 = gtk_button_new_with_label (" Exit ");
    gtk_container_border_width (GTK_CONTAINER (button5), 3);
    gtk_signal_connect_object (GTK_OBJECT (button5), "clicked",
			       GTK_SIGNAL_FUNC(destroy_callback),
			       GTK_OBJECT (window));
    gtk_tooltips_set_tip_2(tooltips, button5, 
		"Do nothing and return to the main window.",NULL);
    gtk_widget_show (button5);
    gtk_box_pack_start (GTK_BOX (hbox), button5, TRUE, FALSE, 0);

    gtk_container_add (GTK_CONTAINER (frameh), hbox);
    gtk_container_add (GTK_CONTAINER (window), table);

    gtk_widget_show(window);

    if(strlen(searchbox_text)) enter_callback(entry,NULL);
}
示例#23
0
GtkWidget *build_admin_interface(GtkWidget * vbox)
{
	GtkWidget *hbox;
	GtkWidget *frame;
	GtkWidget *table;
	GtkWidget *label;
	GtkObject *adj;
	GtkWidget *start_btn;
	GtkWidget *scroll_win;
	GtkWidget *message_text;

	static gchar *titles[2];

	if (!vbox)
		vbox = gtk_vbox_new(FALSE, 0);

	if (!titles[0]) {
		titles[0] = _("Name");
		titles[1] = _("Location");
	}

	gtk_widget_show(vbox);
	gtk_container_border_width(GTK_CONTAINER(vbox), 5);

	hbox = gtk_hbox_new(FALSE, 5);
	gtk_widget_show(hbox);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);

	frame = gtk_frame_new(_("Server Parameters"));
	gtk_widget_show(frame);
	gtk_box_pack_start(GTK_BOX(hbox), frame, FALSE, TRUE, 0);

	table = gtk_table_new(6, 3, FALSE);
	gtk_widget_show(table);
	gtk_container_add(GTK_CONTAINER(frame), table);
	gtk_container_border_width(GTK_CONTAINER(table), 3);
	gtk_table_set_row_spacings(GTK_TABLE(table), 3);
	gtk_table_set_col_spacings(GTK_TABLE(table), 5);

	label = gtk_label_new(_("Game Name"));
	gtk_widget_show(label);
	gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1,
			 (GtkAttachOptions) GTK_FILL,
			 (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0);
	gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);

	game_combo = gtk_combo_new();
	gtk_editable_set_editable(GTK_EDITABLE
				  (GTK_COMBO(game_combo)->entry), FALSE);
	gtk_widget_set_usize(game_combo, 100, -1);
	gtk_signal_connect(GTK_OBJECT(GTK_COMBO(game_combo)->list),
			   "select_child",
			   GTK_SIGNAL_FUNC(game_select_cb), NULL);
	gtk_widget_show(game_combo);
	gtk_table_attach(GTK_TABLE(table), game_combo, 1, 3, 0, 1,
			 (GtkAttachOptions) GTK_FILL,
			 (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0);

	label = gtk_label_new(_("Map Terrain"));
	gtk_widget_show(label);
	gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2,
			 (GtkAttachOptions) GTK_FILL,
			 (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0);
	gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);

	terrain_toggle = gtk_toggle_button_new_with_label("");
	gtk_widget_show(terrain_toggle);
	gtk_table_attach(GTK_TABLE(table), terrain_toggle, 1, 2, 1, 2,
			 (GtkAttachOptions) GTK_FILL,
			 (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0);
	gtk_signal_connect(GTK_OBJECT(terrain_toggle), "toggled",
			   GTK_SIGNAL_FUNC(terrain_toggle_cb), NULL);

	label = gtk_label_new(_("Number of Players"));
	gtk_widget_show(label);
	gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3,
			 (GtkAttachOptions) GTK_FILL,
			 (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0);
	gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);

	adj = gtk_adjustment_new(0, 2, MAX_PLAYERS, 1, 1, 0);
	players_spin = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0);
	gtk_widget_show(players_spin);
	gtk_table_attach(GTK_TABLE(table), players_spin, 1, 2, 2, 3,
			 (GtkAttachOptions) GTK_FILL,
			 (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0);
	gtk_signal_connect(GTK_OBJECT(players_spin), "changed",
			   GTK_SIGNAL_FUNC(players_spin_changed_cb), NULL);

	label = gtk_label_new(_("Victory Point Target"));
	gtk_widget_show(label);
	gtk_table_attach(GTK_TABLE(table), label, 0, 1, 3, 4,
			 (GtkAttachOptions) GTK_FILL,
			 (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0);
	gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);

	adj = gtk_adjustment_new(10, 5, 20, 1, 5, 0);
	victory_spin = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0);
	gtk_widget_show(victory_spin);
	gtk_table_attach(GTK_TABLE(table), victory_spin, 1, 2, 3, 4,
			 (GtkAttachOptions) GTK_FILL,
			 (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0);
	gtk_signal_connect(GTK_OBJECT(victory_spin), "changed",
			   GTK_SIGNAL_FUNC(victory_spin_changed_cb), NULL);

	label = gtk_label_new(_("Register Server"));
	gtk_widget_show(label);
	gtk_table_attach(GTK_TABLE(table), label, 0, 1, 4, 5,
			 (GtkAttachOptions) GTK_FILL,
			 (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0);
	gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);

	register_toggle = gtk_toggle_button_new_with_label(_("No"));
	gtk_widget_show(register_toggle);
	gtk_table_attach(GTK_TABLE(table), register_toggle, 1, 2, 4, 5,
			 (GtkAttachOptions) GTK_FILL,
			 (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0);
	gtk_signal_connect(GTK_OBJECT(register_toggle), "toggled",
			   GTK_SIGNAL_FUNC(register_toggle_cb), NULL);
	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(register_toggle),
				     TRUE);
	/* gtk_toggle_button_toggled(GTK_TOGGLE_BUTTON(register_toggle)); */

	label = gtk_label_new("Server Port");
	gtk_widget_show(label);
	gtk_table_attach(GTK_TABLE(table), label, 0, 1, 5, 6,
			 (GtkAttachOptions) GTK_FILL,
			 (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0);
	gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);

	adj = gtk_adjustment_new(server_port_int, 1024, 32767, 1, 10, 0);
	port_spin = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0);
	gtk_widget_show(port_spin);
	gtk_table_attach(GTK_TABLE(table), port_spin, 1, 2, 5, 6,
			 (GtkAttachOptions) GTK_FILL,
			 (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0);
	gtk_widget_set_usize(port_spin, 60, -1);
	gtk_signal_connect(GTK_OBJECT(port_spin), "changed",
			   GTK_SIGNAL_FUNC(port_spin_changed_cb), NULL);

	start_btn = gtk_button_new_with_label(_("Start Server"));
	gtk_widget_show(start_btn);
	gtk_table_attach(GTK_TABLE(table), start_btn, 0, 2, 6, 7,
			 (GtkAttachOptions) GTK_FILL,
			 (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0);
	gtk_signal_connect(GTK_OBJECT(start_btn), "clicked",
			   GTK_SIGNAL_FUNC(start_clicked_cb), NULL);

	frame = gtk_frame_new(_("Players Connected"));
	gtk_widget_show(frame);
	gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0);
	gtk_widget_set_usize(frame, 250, -1);

	scroll_win = gtk_scrolled_window_new(NULL, NULL);
	gtk_widget_show(scroll_win);
	gtk_container_add(GTK_CONTAINER(frame), scroll_win);
	gtk_container_border_width(GTK_CONTAINER(scroll_win), 3);
	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win),
				       GTK_POLICY_AUTOMATIC,
				       GTK_POLICY_AUTOMATIC);

	clist = gtk_clist_new_with_titles(2, titles);
	gtk_widget_show(clist);
	gtk_container_add(GTK_CONTAINER(scroll_win), clist);
	gtk_clist_set_column_width(GTK_CLIST(clist), 0, 80);
	gtk_clist_set_column_width(GTK_CLIST(clist), 1, 80);
	gtk_clist_column_titles_show(GTK_CLIST(clist));
	gtk_clist_column_titles_passive(GTK_CLIST(clist));

	frame = gtk_frame_new(_("Messages"));
	gtk_widget_show(frame);
	gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);

	scroll_win = gtk_scrolled_window_new(NULL, NULL);
	gtk_widget_show(scroll_win);
	gtk_container_add(GTK_CONTAINER(frame), scroll_win);
	gtk_container_border_width(GTK_CONTAINER(scroll_win), 3);
	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win),
				       GTK_POLICY_AUTOMATIC,
				       GTK_POLICY_AUTOMATIC);

	return vbox;
}
示例#24
0
文件: atilo.c 项目: osingla/atilo
/**
 * TBD
 */
void create_hist_list( void ) {
    static char *title[1] = { "History" };
    GtkStyle *style, *new_style;
    gint sz, max_sz;
    int n;
    char tmp[80];
    GtkWidget *scrolled_win;
    GdkFont *private_font;

    hist_list = gtk_clist_new_with_titles( 1, title );

    /*
     * When a selection is made, we want to know about it. The callback *
     * used is selection_made, and its code can be found further down 
     */
    select_hist_handler_id =
       gtk_signal_connect( GTK_OBJECT( hist_list ), "select_row", GTK_SIGNAL_FUNC( hist_list_selected ), NULL );

    /*
     * It isn't necessary to shadow the border, but it looks nice :) 
     */
    gtk_clist_set_shadow_type( GTK_CLIST( hist_list ), GTK_SHADOW_OUT );

    /*
     * Make sure titles are being shown
     */
    gtk_clist_column_titles_show( GTK_CLIST( hist_list ) );

    /*
     * What however is important, is that we set the column widths as * they
     * will never be right otherwise. Note that the columns are * numbered
     * from 0 and up. 
     */
    style = gtk_widget_get_style( hist_list );
    new_style = gtk_style_copy( style );
    if ( ( private_font = gdk_font_load( "*courier-*-r*140*" ) ) == NULL )
        if ( ( private_font = gdk_font_load( "*courier-*-r*120*" ) ) == NULL )
            private_font = gtk_style_get_font( style );
    gtk_style_set_font( style, private_font );
    gtk_widget_set_style( hist_list, new_style );
    for ( max_sz = 0, n = 0; n < 10; n++ ) {
        sprintf( tmp, "%d: %s: %c%d",
           RANDOM( 1, 60 ), ( rand(  ) % 2 ) ? "Black" : "White", RANDOM( 0, 7 ) + 'A', RANDOM( 1, 8 ) );
        sz = gdk_string_width( private_font, tmp );
        if ( sz > max_sz )
            max_sz = sz;
    }
    gtk_clist_set_column_width( GTK_CLIST( hist_list ), 0, max_sz );

    /*
     * --- Set the column justifications --- 
     */
    gtk_clist_set_column_justification( GTK_CLIST( hist_list ), 0, GTK_JUSTIFY_LEFT );
    gtk_clist_column_titles_passive( GTK_CLIST( hist_list ) );

    /*
     * --- Selection mode --- 
     */
    gtk_clist_set_selection_mode( GTK_CLIST( hist_list ), GTK_SELECTION_BROWSE );

    /*
     * Add the GtkCList widget to the vertical box and show it. 
     */
    gtk_widget_show( hist_list );
    scrolled_win = gtk_scrolled_window_new( NULL, NULL );
    gtk_container_add( GTK_CONTAINER( scrolled_win ), hist_list );
    gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolled_win ), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS );
    gtk_box_pack_start( GTK_BOX( main_hbox ), scrolled_win, FALSE, FALSE, 0 );
    gtk_widget_show( scrolled_win );

}                               // create_hist_list
示例#25
0
void player_filter_page (GtkWidget *notebook) {
  GtkWidget *page_hbox;
  GtkWidget *scrollwin;
  GtkWidget *label;
  GtkWidget *vbox;
  GtkWidget *vbox2;
  GtkWidget *alignment;
  GtkWidget *pixmap;
  GtkWidget *button;
  GtkWidget *peditor;
  char *titles[5] = { "", "", "", _("Mode"), _("Pattern") };
  int i;

  page_hbox = gtk_hbox_new (FALSE, 8);
  gtk_container_set_border_width (GTK_CONTAINER (page_hbox), 8);

  label = gtk_label_new (_("Player Filter"));
  gtk_widget_show (label);

  gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page_hbox, label);

  /* Pattern CList */

  scrollwin = gtk_scrolled_window_new (NULL, NULL);
  gtk_box_pack_start (GTK_BOX (page_hbox), scrollwin, FALSE, FALSE, 0);

  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin), 
				  GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);

  pattern_clist = gtk_clist_new_with_titles (5, titles);
  gtk_widget_set_usize (pattern_clist, 260, 200);
  gtk_clist_set_selection_mode (GTK_CLIST (pattern_clist),
                                                        GTK_SELECTION_BROWSE);
  gtk_clist_set_reorderable (GTK_CLIST (pattern_clist), TRUE);

  gtk_signal_connect (GTK_OBJECT (pattern_clist), "event",
                        GTK_SIGNAL_FUNC (pattern_clist_event_callback), NULL);
  gtk_signal_connect (GTK_OBJECT (pattern_clist), "select_row",
                   GTK_SIGNAL_FUNC (pattern_clist_select_row_callback), NULL);
  gtk_signal_connect (GTK_OBJECT (pattern_clist), "row_move",
                     GTK_SIGNAL_FUNC (pattern_clist_row_move_callback), NULL);

  for (i = 0; i < 3; i++) {
    pixmap = aligned_pixmap (group_pix[i].pix, group_pix[i].mask);
    gtk_clist_set_column_width (GTK_CLIST (pattern_clist), i, 
                                             pixmap_width (group_pix[i].pix));
    gtk_clist_set_column_widget (GTK_CLIST (pattern_clist), i, pixmap);
    gtk_widget_show (pixmap);

    gtk_clist_set_column_resizeable (GTK_CLIST (pattern_clist), i, FALSE);
  }

  gtk_clist_set_column_width (GTK_CLIST (pattern_clist), 3, 45);

  gtk_container_add (GTK_CONTAINER (scrollwin), pattern_clist); 
  gtk_clist_column_titles_passive (GTK_CLIST (pattern_clist));

  gtk_widget_show (pattern_clist);

  gtk_widget_show (scrollwin);

  gtk_widget_ensure_style (pattern_clist);

/*FIXME_GTK2: style->font not working with gtk2*/
#ifndef USE_GTK2
  i = MAX (pixmap_height (group_pix[0].pix), 
	      pattern_clist->style->font->ascent + 
	      pattern_clist->style->font->descent + 1);

  gtk_clist_set_row_height (GTK_CLIST (pattern_clist), i);
#endif

  /* Buttons */

  vbox = gtk_vbox_new (FALSE, 4);
  gtk_box_pack_start (GTK_BOX (page_hbox), vbox, FALSE, FALSE, 0);

  button = gtk_button_new_with_label (_("New"));
  gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
  gtk_signal_connect (GTK_OBJECT (button), "clicked",
                                GTK_SIGNAL_FUNC (new_pattern_callback), NULL);
  gtk_widget_show (button);

  delete_button = gtk_button_new_with_label (_("Delete"));
  gtk_box_pack_start (GTK_BOX (vbox), delete_button, FALSE, FALSE, 0);
  gtk_signal_connect (GTK_OBJECT (delete_button), "clicked",
                             GTK_SIGNAL_FUNC (delete_pattern_callback), NULL);
  gtk_widget_show (delete_button);

  alignment = gtk_alignment_new (0, 0.5, 1, 0);
  gtk_box_pack_end (GTK_BOX (vbox), alignment, TRUE, TRUE, 0);

  vbox2 = gtk_vbox_new (FALSE, 4);
  gtk_container_add (GTK_CONTAINER (alignment), vbox2);

  up_button = gtk_button_new_with_label (_("Up"));
  gtk_box_pack_start (GTK_BOX (vbox2), up_button, FALSE, FALSE, 0);
  gtk_signal_connect (GTK_OBJECT (up_button), "clicked",
                GTK_SIGNAL_FUNC (move_up_down_pattern_callback), (void *) -1);
  gtk_widget_show (up_button);

  down_button = gtk_button_new_with_label (_("Down"));
  gtk_box_pack_start (GTK_BOX (vbox2), down_button, FALSE, FALSE, 0);
  gtk_signal_connect (GTK_OBJECT (down_button), "clicked",
                 GTK_SIGNAL_FUNC (move_up_down_pattern_callback), (void *) 1);
  gtk_widget_show (down_button);

  gtk_widget_show (vbox2);
  gtk_widget_show (alignment);
  gtk_widget_show (vbox);

  /* Pattern Editor */

  peditor = player_filter_pattern_editor ();
  gtk_box_pack_end (GTK_BOX (page_hbox), peditor, TRUE, TRUE, 0);

  gtk_widget_show (page_hbox);

  player_filter_page_init ();
}