CountTreeGadgetNodeItems()

Share your advanced PureBasic knowledge/code with the community.
Fred
Administrator
Administrator
Posts: 18252
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

CountTreeGadgetNodeItems()

Post by Fred »

Code updated for 5.20+

As i got several mails concerning this one, here the procedure which allows to replace the pre-v4 one:

Code: Select all

Procedure CountTreeGadgetNodeItems(Gadget, Index)

 Level = GetGadgetItemAttribute(Gadget, Index, #PB_Tree_SubLevel)

 Repeat
   Index + 1

   If GetGadgetItemAttribute(Gadget, Index, #PB_Tree_SubLevel) >= Level+1
     Count+1
   Else
     Break
   EndIf
 ForEver

 ProcedureReturn Count
EndProcedure
User avatar
Flype
Addict
Addict
Posts: 1542
Joined: Tue Jul 22, 2003 5:02 pm
Location: In a long distant galaxy

Post by Flype »

thank you fred.

Just 2 little wishes i needed today :

CountGadgetColumns(Gadget)
ClearGadgetColumns(Gadget)

Code: Select all

Procedure.l ClearGadgetColumns(gID.l,ClearList.l)
  
  If IsGadget(gID)
    
    ColumnNumber = CountGadgetColumns(gID)
    ;ColumnNumber = GetGadgetAttribute(gID,#PB_ListIcon_ColumnNumber)
    
    If ClearList
      ClearGadgetItemList(gID)
    EndIf
    
    ;For Column = ColumnNumber To 0 Step -1
    ;  RemoveGadgetColumn(gID,Column)
    ;Next

    For Column = 0 To ColumnNumber-1
      RemoveGadgetColumn(gID,0)
    Next
    
  EndIf
  
EndProcedure
No programming language is perfect. There is not even a single best language.
There are only languages well suited or perhaps poorly suited for particular purposes. Herbert Mayer
Post Reply