; Module/File: LIG_ColumnMoveAfter.pb ; Function: Moves column after another by code - Linux ; Author: Omi ; Date: Juli 10, 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 ;-------------------------------------------------------------- EnableExplicit ; Object constants #MainWin= 0 #LIG= 0 #But= 1 #WinX= 200 #WinY= 200 #WinW= 500 #WinH= 450 Global.i gEvent, gQuit ;- Functions ... Procedure LIG_ColumnMoveAfter(Gadget, ColumnMove, ColumnAfter) Protected *ColumnM, *ColumnA *ColumnM = gtk_tree_view_get_column_(GadgetID(#LIG), ColumnMove); LINUX-API - get the pointer to the column If ColumnAfter> -1 *ColumnA = gtk_tree_view_get_column_(GadgetID(#LIG), ColumnAfter) If *ColumnM And *ColumnA gtk_tree_view_move_column_after_(GadgetID(Gadget), *ColumnM, *ColumnA) EndIf Else; Bei ColumnAfter= -1 an Position 0 If *ColumnM gtk_tree_view_move_column_after_(GadgetID(Gadget), *ColumnM, #Null) EndIf EndIf ;Freigabe ??? EndProcedure ;- ;- Example ... Procedure CreateWindow_Main() Protected.l I, O Protected *Column #Img1= 0 #Img2= 1 If OpenWindow(#MainWin, #WinX, #WinY, #WinW, #WinH, "Spalte 2 hinter 3 schieben", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ListIconGadget(#LIG, 5, 5, 480, 380, "Spalte 0", 70, #PB_ListIcon_AlwaysShowSelection | #PB_ListIcon_GridLines | #PB_ListIcon_CheckBoxes) ButtonGadget(#But, 5, 400, 180, 25, "Spalte 2 hinter 3 schieben", #PB_Button_Toggle) For O= 1 To 4 AddGadgetColumn(#LIG, O, "Spalte "+Str(O), 70) Next O For I= 0 To 19 AddGadgetItem(#LIG, I, Str(I)+".1") Next I For O= 0 To 3 For I= 0 To 19 SetGadgetItemText(#LIG, I, Str(I)+"."+Str(O), O) Next I Next O For O= 4 To 5 For I= 0 To 19 SetGadgetItemText(#LIG, I, Str(19-I)+"."+Str(O), O) Next I Next O EndIf EndProcedure CreateWindow_Main() Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True Case #PB_Event_Gadget If EventGadget()= #But ;LIG_ColumnMoveAfter(#LIG, 2, -1); Spalte 2 an Pos. 0 LIG_ColumnMoveAfter(#LIG, 2, 3) EndIf EndSelect Until gQuit ; IDE Options = PureBasic 5.40 LTS Beta 9 (Linux - x86) ; CursorPosition = 8 ; FirstLine = 26 ; Folding = - ; EnableUnicode ; EnableXP ; CurrentDirectory = /home/charly-xubuntu/Programming/PureBasic/purebasic/