Go to the documentation of this file.
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]; }
311 #endif // JUCE_SELECTEDITEMSET_H_INCLUDED
Definition: juce_ChangeBroadcaster.h:35
void deselectAll()
Definition: juce_SelectedItemSet.h:231
int getNumSelected() const noexcept
Definition: juce_SelectedItemSet.h:249
const ItemArray & getItemArray() const noexcept
Definition: juce_SelectedItemSet.h:261
bool isPopupMenu() const noexcept
Definition: juce_ModifierKeys.h:76
#define JUCE_LEAK_DETECTOR(OwnerClass)
Definition: juce_LeakedObjectDetector.h:141
SelectedItemSet(const ItemArray &items)
Definition: juce_SelectedItemSet.h:58
bool contains(ParameterType elementToLookFor) const
Definition: juce_Array.h:373
bool addToSelectionOnMouseDown(ParameterType item, ModifierKeys modifiers)
Definition: juce_SelectedItemSet.h:185
virtual void itemDeselected(SelectableItemType)
Definition: juce_SelectedItemSet.h:282
void addToSelection(ParameterType item)
Definition: juce_SelectedItemSet.h:116
SelectableItemType * begin() const noexcept
Definition: juce_SelectedItemSet.h:264
ElementType * end() const noexcept
Definition: juce_Array.h:336
bool isSelected(ParameterType item) const noexcept
Definition: juce_SelectedItemSet.h:258
void deselect(ParameterType item)
Definition: juce_SelectedItemSet.h:219
bool isShiftDown() const noexcept
Definition: juce_ModifierKeys.h:97
#define noexcept
Definition: juce_CompilerSupport.h:141
Array< SelectableItemType > ItemArray
Definition: juce_SelectedItemSet.h:48
Type jmin(const Type a, const Type b)
Definition: juce_MathsFunctions.h:112
void add(const ElementType &newElement)
Definition: juce_Array.h:392
ElementType * begin() const noexcept
Definition: juce_Array.h:328
typedef PARAMETER_TYPE(SelectableItemType) ParameterType
SelectedItemSet & operator=(const SelectedItemSet &other)
Definition: juce_SelectedItemSet.h:70
SelectedItemSet(const SelectedItemSet &other)
Definition: juce_SelectedItemSet.h:64
void addToSelectionBasedOnModifiers(ParameterType item, ModifierKeys modifiers)
Definition: juce_SelectedItemSet.h:148
SelectedItemSet()
Definition: juce_SelectedItemSet.h:53
int indexOf(ParameterType elementToLookFor) const
Definition: juce_Array.h:355
void sendSynchronousChangeMessage()
Definition: juce_ChangeBroadcaster.cpp:67
void addToSelectionOnMouseUp(ParameterType item, ModifierKeys modifiers, const bool wasItemDragged, const bool resultOfMouseDownSelectMethod)
Definition: juce_SelectedItemSet.h:209
bool isCommandDown() const noexcept
Definition: juce_ModifierKeys.h:66
SelectableItemType getSelectedItem(const int index) const
Definition: juce_SelectedItemSet.h:255
ElementType getUnchecked(const int index) const
Definition: juce_Array.h:258
void selectOnly(ParameterType item)
Definition: juce_SelectedItemSet.h:89
ElementType remove(const int indexToRemove)
Definition: juce_Array.h:795
Definition: juce_ModifierKeys.h:38
SelectableItemType ItemType
Definition: juce_SelectedItemSet.h:47
int size() const noexcept
Definition: juce_Array.h:221
virtual void itemSelected(SelectableItemType)
Definition: juce_SelectedItemSet.h:275
Definition: juce_SelectedItemSet.h:43
void sendChangeMessage()
Definition: juce_ChangeBroadcaster.cpp:61
void changed()
Definition: juce_SelectedItemSet.h:287
SelectableItemType * end() const noexcept
Definition: juce_SelectedItemSet.h:267
void changed(const bool synchronous)
Definition: juce_SelectedItemSet.h:295