JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
juce_FileListComponent.h
Go to the documentation of this file.
1 /*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
43class JUCE_API FileListComponent : private ListBoxModel,
44 public ListBox,
46 private ChangeListener
47{
48public:
49 //==============================================================================
52
54 ~FileListComponent() override;
55
56 //==============================================================================
60 int getNumSelectedFiles() const override;
61
66 File getSelectedFile (int index = 0) const override;
67
69 void deselectAllFiles() override;
70
72 void scrollToTop() override;
73
76 void setSelectedFile (const File&) override;
77
78private:
79 //==============================================================================
80 File lastDirectory, fileWaitingToBeSelected;
81 class ItemComponent;
82
83 void changeListenerCallback (ChangeBroadcaster*) override;
84 int getNumRows() override;
85 String getNameForRow (int rowNumber) override;
86 void paintListBoxItem (int, Graphics&, int, int, bool) override;
87 Component* refreshComponentForRow (int rowNumber, bool isRowSelected, Component*) override;
88 void selectedRowsChanged (int row) override;
89 void deleteKeyPressed (int currentSelectedRow) override;
90 void returnKeyPressed (int currentSelectedRow) override;
91
93};
94
95} // namespace juce
Holds a list of ChangeListeners, and sends messages to them when instructed.
Receives change event callbacks that are sent out by a ChangeBroadcaster.
The base class for all JUCE user-interface objects.
A base class for components that display a list of the files in a directory.
A class to asynchronously scan for details about the files in a directory.
A component that displays the files in a directory as a listbox.
Represents a local file or directory.
Definition juce_File.h:45
A graphics context, used for drawing a component or image.
A subclass of this is used to drive a ListBox.
A list of items that can be scrolled vertically.
The JUCE String class!
Definition juce_String.h:53
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and JUCE_LEAK_DETECTOR macro for ...
JUCE Namespace.