; Module/File: LIG_GetSelectedListV1.pb ; Function: Query all indices (rows) of (multi-) selected ListIconGadget items, V1 - Linux ; Author: Omi ; Date: Nov. 30, 2015 ; Version: 0.1 ; Target Compiler: PureBasic 5.22/5.31/5.40 ; Target OS: Linux: (X/K/L)ubuntu, Mint, 32/64, Ascii/Uni ;-------------------------------------------------------------- EnableExplicit ;Object constants #MainWin= 0 #LIG = 0 #But1= 1 Global.i gEvent, gQuit Global.s gSelections ProcedureC TV_SelectionForeach(*model, *path, *iter.GtkTreeIter, user_data) ; use it on each pass ... ; Debug PeekL(gtk_tree_path_get_indices_(*path)) ; or add on a global string ... gSelections+ Str(PeekL(gtk_tree_path_get_indices_(*path))) + ";" ;No TreeView manipulation allowed from within this callback! EndProcedure Procedure CreateWindow_Main() Protected.i I, O If OpenWindow(#MainWin, 200, 200, 500, 400, "Multiselection list", #PB_Window_SystemMenu) ButtonGadget(#But1, 5, 5, 400, 26, "First select some item, than click ...") ListIconGadget(#LIG, 5, 35, 480, 350, "Spalte 1", 70, #PB_ListIcon_AlwaysShowSelection | #PB_ListIcon_GridLines | #PB_ListIcon_MultiSelect) For O= 1 To 4 AddGadgetColumn(#LIG, O, "Spalte "+Str(O+ 1), 70) Next O For I= 1 To 20 AddGadgetItem(#LIG, -1, Str(I)+".1") Next I For O= 1 To 4 For I= 0 To 19 SetGadgetItemText(#LIG, I, Str(I+1)+"."+Str(O+1), O) Next I Next O For O= 3 To 4 For I= 0 To 19 SetGadgetItemText(#LIG, I, Str(20-I)+"."+Str(O+1), O) Next I Next O GadgetToolTip(#But1, "Use [Ctrl] with leftclick!") EndIf EndProcedure CreateWindow_Main() Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True Case #PB_Event_Gadget Select EventGadget() Case #But1 gSelections= "" Debug "Selected:" ;auto generated loop ... gtk_tree_selection_selected_foreach_(gtk_tree_view_get_selection_(GadgetID(#LIG)), @TV_SelectionForeach(), 0) ;or use a global string ... Debug RTrim(gSelections, ";") Debug " ---" EndSelect EndSelect Until gQuit ; IDE Options = PureBasic 5.45 LTS (Linux - x86) ; CursorPosition = 3 ; Folding = - ; EnableUnicode ; EnableXP