25 #ifndef JUCE_SELECTEDITEMSET_H_INCLUDED 26 #define JUCE_SELECTEDITEMSET_H_INCLUDED 42 template <
class SelectableItemType>
59 : selectedItems (items)
65 : selectedItems (other.selectedItems)
72 if (selectedItems != other.selectedItems)
74 selectedItems = other.selectedItems;
93 for (
int i = selectedItems.
size(); --i >= 0;)
107 selectedItems.
add (item);
122 selectedItems.
add (item);
211 const bool wasItemDragged,
212 const bool resultOfMouseDownSelectMethod)
214 if (resultOfMouseDownSelectMethod && ! wasItemDragged)
221 const int i = selectedItems.
indexOf (item);
233 if (selectedItems.
size() > 0)
237 for (
int i = selectedItems.
size(); --i >= 0;)
255 SelectableItemType
getSelectedItem (
const int index)
const {
return selectedItems [index]; }
305 ItemArray selectedItems;
311 #endif // JUCE_SELECTEDITEMSET_H_INCLUDED SelectedItemSet(const ItemArray &items)
Definition: juce_SelectedItemSet.h:58
void sendChangeMessage()
Definition: juce_ChangeBroadcaster.cpp:61
void changed()
Definition: juce_SelectedItemSet.h:287
int getNumSelected() const noexcept
Definition: juce_SelectedItemSet.h:249
void addToSelectionBasedOnModifiers(ParameterType item, ModifierKeys modifiers)
Definition: juce_SelectedItemSet.h:148
#define noexcept
Definition: juce_CompilerSupport.h:141
const ItemArray & getItemArray() const noexcept
Definition: juce_SelectedItemSet.h:261
SelectableItemType getSelectedItem(const int index) const
Definition: juce_SelectedItemSet.h:255
typedef PARAMETER_TYPE(SelectableItemType) ParameterType
Type jmin(const Type a, const Type b)
Definition: juce_core.h:113
Definition: juce_ModifierKeys.h:38
SelectedItemSet & operator=(const SelectedItemSet &other)
Definition: juce_SelectedItemSet.h:70
bool isCommandDown() const noexcept
Definition: juce_ModifierKeys.h:66
bool contains(ParameterType elementToLookFor) const
Definition: juce_Array.h:373
void add(const ElementType &newElement)
Definition: juce_Array.h:392
Definition: juce_ChangeBroadcaster.h:35
ElementType * end() const noexcept
Definition: juce_Array.h:336
SelectedItemSet()
Definition: juce_SelectedItemSet.h:53
void addToSelection(ParameterType item)
Definition: juce_SelectedItemSet.h:116
bool isPopupMenu() const noexcept
Definition: juce_ModifierKeys.h:76
void changed(const bool synchronous)
Definition: juce_SelectedItemSet.h:295
ElementType * begin() const noexcept
Definition: juce_Array.h:328
Array< SelectableItemType > ItemArray
Definition: juce_SelectedItemSet.h:48
int indexOf(ParameterType elementToLookFor) const
Definition: juce_Array.h:355
bool isSelected(ParameterType item) const noexcept
Definition: juce_SelectedItemSet.h:258
void sendSynchronousChangeMessage()
Definition: juce_ChangeBroadcaster.cpp:67
void deselect(ParameterType item)
Definition: juce_SelectedItemSet.h:219
virtual void itemSelected(SelectableItemType)
Definition: juce_SelectedItemSet.h:275
bool isShiftDown() const noexcept
Definition: juce_ModifierKeys.h:97
bool addToSelectionOnMouseDown(ParameterType item, ModifierKeys modifiers)
Definition: juce_SelectedItemSet.h:185
ElementType remove(const int indexToRemove)
Definition: juce_Array.h:795
void addToSelectionOnMouseUp(ParameterType item, ModifierKeys modifiers, const bool wasItemDragged, const bool resultOfMouseDownSelectMethod)
Definition: juce_SelectedItemSet.h:209
Definition: juce_Array.h:60
virtual void itemDeselected(SelectableItemType)
Definition: juce_SelectedItemSet.h:282
void selectOnly(ParameterType item)
Definition: juce_SelectedItemSet.h:89
ElementType getUnchecked(const int index) const
Definition: juce_Array.h:258
SelectableItemType ItemType
Definition: juce_SelectedItemSet.h:47
Definition: juce_SelectedItemSet.h:43
#define JUCE_LEAK_DETECTOR(OwnerClass)
Definition: juce_LeakedObjectDetector.h:141
SelectableItemType * begin() const noexcept
Definition: juce_SelectedItemSet.h:264
SelectedItemSet(const SelectedItemSet &other)
Definition: juce_SelectedItemSet.h:64
void deselectAll()
Definition: juce_SelectedItemSet.h:231
SelectableItemType * end() const noexcept
Definition: juce_SelectedItemSet.h:267
int size() const noexcept
Definition: juce_Array.h:221