; Module/File: LIG_SetSelectionMode.pb ; Function: Sets 4 different selection-modes: none, single (single or none), browse (always 1), multi - Linux ; Author: Omi ; Date: Oct. 23, 2014 ; Version: 0.1 ; Target Compiler: PureBasic 5.22/5.31/5.40 ; Target OS: Linux: (X/K/L)ubuntu, Mint, 32/64, Ascii/Uni ;-------------------------------------------------------------- ; ;Modes: ;#GTK_SELECTION_NONE = 0 ;#GTK_SELECTION_SINGLE = 1 (zero or 1 element) ;#GTK_SELECTION_BROWSE = 2 (1 element except init or search) ;#GTK_SELECTION_MULTIPLE = 3 (multiselect) EnableExplicit ;Object constants #MainWin= 0 #LIG = 0 #Text= 1 #But1= 2 #WinX= 200 #WinY= 200 #WinW= 500 #WinH= 400 Global.i gEvent, gQuit Procedure TV_SetSelectionMode(Gadget, Mode) gtk_tree_selection_set_mode_(gtk_tree_view_get_selection_(GadgetID(Gadget)), Mode) EndProcedure Procedure CreateWindow_Main() Protected.i I, O If OpenWindow(#MainWin, #WinX, #WinY, #WinW, #WinH, "Selection modes", #PB_Window_SystemMenu) TextGadget(#Text, 5, 9, 110, 24, "Selection modes:") ComboBoxGadget(#But1, 110, 4, 150, 28) AddGadgetItem(#But1, -1, "no selection") AddGadgetItem(#But1, -1, "single selection") AddGadgetItem(#But1, -1, "browse") AddGadgetItem(#But1, -1, "multi selection") SetGadgetState(#But1, 2) SetGadgetState(#But1, 1) ListIconGadget(#LIG, 5, 35, 480, 350, "Spalte 1", 70, #PB_ListIcon_AlwaysShowSelection | #PB_ListIcon_GridLines) 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 EndIf EndProcedure CreateWindow_Main() Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True Case #PB_Event_Gadget Select EventGadget() Case #But1 TV_SetSelectionMode(#LIG, GetGadgetState(#But1)) EndSelect EndSelect Until gQuit ; IDE Options = PureBasic 5.40 LTS Beta 9 (Linux - x86) ; CursorPosition = 14 ; Folding = - ; EnableUnicode ; EnableXP