Platforms to show: All Mac Windows Linux Cross-Platform
/MacCloud/NSMetadataquery test
Required plugins for this example: MBS MacCloud Plugin, MBS Main Plugin, MBS MacBase Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /MacCloud/NSMetadataquery test
This example is the version from Sun, 17th Mar 2012.
Project "NSMetadataquery test.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
Control Info Inherits Label
ControlInstance Info Inherits Label
End Control
Control List Inherits Listbox
ControlInstance List Inherits Listbox
End Control
EventHandler Sub Open()
m = new MyNSMetadataQueryMBS
m.predicate = NSPredicateMBS.predicateWithFormat("kMDItemContentType=""com.apple.application-bundle""")
m.setSortDescriptor NSSortDescriptorMBS.sortDescriptorWithKey(NSMetadataItemMBS.NSMetadataItemDisplayNameKey, true)
dim paths() as string
dim folders() as FolderItem
// you can specify where to search either by path or by FolderItem
'paths.Append "/Applications"
folders.Append SpecialFolder.Applications
m.setSearchScopes paths, folders
if m.startQuery then
// ok
else
MsgBox "Failed to run query."
end if
End EventHandler
Sub RefreshList()
dim items() as NSMetadataItemMBS = m.results
List.DeleteAllRows
for each item as NSMetadataItemMBS in items
List.AddRow item.DisplayName
next
End Sub
Property m As MyNSMetadataQueryMBS
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
Class MyNSMetadataQueryMBS Inherits NSMetadataQueryMBS
EventHandler Sub DidFinishGathering(n as NSNotificationMBS)
window1.info.text = "Did finish gathering."
window1.RefreshList
End EventHandler
EventHandler Sub DidStartGathering(n as NSNotificationMBS)
window1.info.text = "Did start gathering."
End EventHandler
EventHandler Sub DidUpdate(n as NSNotificationMBS)
window1.info.text = "Got update."
window1.RefreshList
End EventHandler
EventHandler Sub GatheringProgress(n as NSNotificationMBS)
window1.info.text = "Gathering..."
window1.RefreshList
End EventHandler
End Class
End Project
The items on this page are in the following plugins: MBS MacCloud Plugin.