Platforms to show: All Mac Windows Linux Cross-Platform
/Picture/Hierarchical Listbox with Icons
Required plugins for this example: MBS Picture Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /Picture/Hierarchical Listbox with Icons
This example is the version from Tue, 7th Nov 2016.
Project "Hierarchical Listbox with Icons.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
End Class
Class MainWindow Inherits Window
Control List Inherits Listbox
ControlInstance List Inherits Listbox
EventHandler Sub ExpandRow(row As Integer)
dim it as FolderItem = me.RowTag(row)
AddFolder it
End EventHandler
End Control
EventHandler Sub Open()
dim u as integer = VolumeCount
for i as integer = 0 to u
AddItem volume(i)
next
End EventHandler
Sub AddFolder(f as FolderItem)
if f <> nil then
dim c as integer = f.Count
for i as integer = 1 to c
dim it as FolderItem = f.TrueItem(i)
AddItem it
next
end if
End Sub
Sub AddItem(it as FolderItem)
if it = nil then
// ignore stuff we can't see
elseif not it.Visible then
// ignore invisible stuff
else
if it.Directory then
List.AddFolder it.DisplayName
else
List.AddRow it.DisplayName
end if
List.RowTag(List.LastIndex) = it
// get icon via MBS Plugin
list.RowPicture(List.LastIndex) = it.IconMBS(16)
end if
End Sub
End Class
MenuBar MainMenuBar
MenuItem FileMenu = "&File"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem EditSeparator1 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "#App.kEditClear"
MenuItem EditSeparator2 = "-"
MenuItem EditSelectAll = "Select &All"
End MenuBar
End Project
The items on this page are in the following plugins: MBS Picture Plugin.