: GtkCList에서 MULTIPLE select가 되도록 해놓고 여러 row를 선택했을 때
: 선택된 놈들의 텍스트를 얻어오는 방법을 모르겠습니다. 컬럼은 1개로 고정했고요.
:
: 사실 GtkFileSelection의 파일 선택을 여러개 가능하도록 해놓고 선택된 모든 파일을 다 알고
: 싶은 건데 방법을 잘 모르겠네요.
: --
: 필요는 발명의 어머니...
제가 2년전에 gtk+로 만든 ftp client 소스에서 가져
왔습니다.
아마 님께서 원하는 코드가 포함되어 있을테니
참고 해보세요.
저도 이것 때문에 약간 삽질을 한 기억이 남아서
그럼행운이 있기를..
void
on_button_transfer1_clicked (GtkButton *button,
gpointer user_data)
{
GtkWidget *filelist;
myftp_file *file;
GList *list;
int selected_row1;
if (request_server1->sockfd < 0 || request_server2->sockfd < 0) {
return;
}
set_sensitive_all(FALSE);
filelist = lookup_widget(window_myftp, "clist_filelist1");
for (list = GTK_CLIST(filelist)->selection;
list;
list = list->next) {
selected_row1 = GPOINTER_TO_INT(list->data);
file = (myftp_file *) g_list_nth_data(request_server1->file_list,
selected_row1);
if (myftp_transfer_file_recursive(request_server1,
request_server2,
file) < 0) {
return;
}
myftp_list(request_server1);
}
gtk_clist_unselect_all(GTK_CLIST(filelist));
if (myftp_list(request_server2) < 0) {
return;
}
filelist = lookup_widget(window_myftp, "clist_filelist2");
gtk_clist_freeze(GTK_CLIST(filelist));
gtk_clist_clear(GTK_CLIST(filelist));
g_list_foreach(request_server2->file_list,
file_to_clist,
"clist_filelist2");
clist_set_pixmap(filelist, request_server2->file_list);
gtk_clist_thaw(GTK_CLIST(filelist));
set_sensitive_all(TRUE);
return;
}--옛날에 짰던거라 참고가 될려나 모르겠네요.