lug-bg: GtkCList въпрос?
- Subject: lug-bg: GtkCList въпрос?
- From: Vladimir Paskov <vlado-paskov@xxxxxxx>
- Date: Tue, 16 Mar 2004 19:43:29 +0200
Здравейте група,
ако някой разбира нека ми помогне. А ето за какво става въорос:
Имам следната функция:
void list_files (gpointer data)
{
gchar *path [0];
struct dirent **file_list = NULL;
int j;
int i;
gchar row;
i = scandir (".", &file_list, 0, alphasort);
if (i < 0)
perror("scandir");
else {
for (j = 0; j < i; j++) {
gtk_clist_append ((GtkCList *)data, path);
}
}
}
Нейната цел, както се вижда е да зареди списък с директории и да ги
покаже в GtkCList widget.
Ето я и останалата част от фаила:
int main (int argc, gchar *argv [0])
{
GtkWidget *main_window;
GtkWidget *vbox, *hbox;
GtkWidget *scrolled_window, *clist;
GtkWidget *button_add;
gchar *titles[1] = { "File name"};
gtk_init(&argc, &argv);
main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_set_size_request (GTK_WIDGET (main_window), 400, 400);
gtk_window_set_title (GTK_WINDOW (main_window), "File List");
vbox=gtk_vbox_new (FALSE, 5);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
gtk_container_add (GTK_CONTAINER (main_window), vbox);
gtk_widget_show (vbox);
/* Create a scrolled window to pack the CList widget into */
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
gtk_box_pack_start (GTK_BOX (vbox), scrolled_window, TRUE, TRUE, 0);
gtk_widget_show (scrolled_window);
/* Create the CList. */
clist = gtk_clist_new_with_titles (1, titles);
gtk_clist_set_column_width (GTK_CLIST (clist), 0, 150);
gtk_container_add (GTK_CONTAINER (scrolled_window), clist);
gtk_widget_show (clist);
hbox = gtk_hbox_new (FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
gtk_widget_show (hbox);
button_add = gtk_button_new_with_label ("Add List");
gtk_box_pack_start (GTK_BOX (hbox), button_add, TRUE, TRUE, 0);
/* Connect our callbacks to the three buttons */
g_signal_connect_swapped (G_OBJECT (button_add), "clicked",
G_CALLBACK (list_files),
clist);
gtk_widget_show (button_add);
gtk_widget_show (main_window);
gtk_main();
return 0;
}
Всичко се компилира успешно но когато натисна бутона показване на листа
в конзолата излиза следното предупреждение:
** (clist-test:9062): WARNING **: Invalid UTF8 string passed to pango_layout_set_text()
Явно има конфликт с UTF8 кодирането. Всякакви идеи и приложения са добре
дошли.
Мерси предварително за отговора
--
Vladimir Paskov <vlado-paskov@xxxxxxx>
Attachment:
signature.asc
Description: This is a digitally signed message part
|