Здравейте група,
ако някой разбира нека ми помогне. А ето за какво става въорос:

Имам следната функция:

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 <[EMAIL PROTECTED]>

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to