TracktionEngine
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
tracktion::engine::SelectionManager Class Reference

Manages a list of items that are currently selected. More...

Inheritance diagram for tracktion::engine::SelectionManager:

Classes

struct  ChangedSelectionDetector
 
struct  ComponentWithSelectionManager
 
struct  Iterator
 
struct  ScopedSelectionState
 

Public Member Functions

 SelectionManager (Engine &)
 
 ~SelectionManager () override
 
int getNumObjectsSelected () const
 
SelectablegetSelectedObject (int index) const
 
bool isSelected (const Selectable *) const
 
bool isSelected (const Selectable &) const
 
const SelectableListgetSelectedObjects () const
 
SelectableClassgetFirstSelectableClass () const
 
void selectOnly (Selectable *)
 
void selectOnly (Selectable &)
 
void addToSelection (Selectable *)
 
void addToSelection (Selectable &)
 
void select (Selectable *, bool addToCurrentSelection)
 
void select (Selectable &, bool addToCurrentSelection)
 
void select (const SelectableList &)
 
void deselectAll ()
 
void deselect (Selectable *)
 
void selectOtherObjects (SelectableClass::Relationship, bool keepOldItemsSelected)
 Selects related objects, e.g. More...
 
template<typename SelectableClass >
bool containsType () const
 
template<typename SelectableClass >
int getNumObjectsSelectedOfType () const
 
template<typename SelectableClass >
juce::Array< SelectableClass * > getItemsOfType () const
 
template<typename SelectableClass >
SelectableClassgetFirstItemOfType () const
 
void deleteSelected ()
 
bool copySelected ()
 
bool cutSelected ()
 
bool pasteSelected ()
 Offers the selected things the chance to paste the contents of the clipboard onto themselves, returns false if they didn't handle it. More...
 
void keepSelectedObjectsOnScreen ()
 Scrolls whatever is necessary to keep the selected stuff visible. More...
 
void refreshPropertyPanel ()
 
void selectableObjectChanged (Selectable *) override
 
void selectableObjectAboutToBeDeleted (Selectable *) override
 
EditgetEdit () const
 

Static Public Member Functions

static void refreshAllPropertyPanels ()
 
static void refreshAllPropertyPanelsShowing (Selectable &)
 
static void deselectAllFromAllWindows ()
 
static SelectionManagerfindSelectionManager (const juce::Component *)
 
static SelectionManagerfindSelectionManager (const juce::Component &)
 
static SelectionManagerfindSelectionManagerContaining (const Selectable *)
 
static SelectionManagerfindSelectionManagerContaining (const Selectable &)
 

Public Attributes

int selectionChangeCount = 0
 
Selectable::WeakRef edit
 If this SelectionManager is being used to represent items inside a particular view of an edit, this id should be set so you can find it by iterating the SelectionManagers. More...
 
int editViewID = -1
 
EditInsertPointinsertPoint = nullptr
 
Engineengine
 

Detailed Description

Manages a list of items that are currently selected.

See also
Selectable

Constructor & Destructor Documentation

◆ SelectionManager()

tracktion::engine::SelectionManager::SelectionManager ( Engine )

◆ ~SelectionManager()

tracktion::engine::SelectionManager::~SelectionManager ( )
override

Member Function Documentation

◆ getNumObjectsSelected()

int tracktion::engine::SelectionManager::getNumObjectsSelected ( ) const

◆ getSelectedObject()

Selectable* tracktion::engine::SelectionManager::getSelectedObject ( int  index) const

◆ isSelected() [1/2]

bool tracktion::engine::SelectionManager::isSelected ( const Selectable ) const

◆ isSelected() [2/2]

bool tracktion::engine::SelectionManager::isSelected ( const Selectable ) const

◆ getSelectedObjects()

const SelectableList& tracktion::engine::SelectionManager::getSelectedObjects ( ) const

◆ getFirstSelectableClass()

SelectableClass* tracktion::engine::SelectionManager::getFirstSelectableClass ( ) const

◆ selectOnly() [1/2]

void tracktion::engine::SelectionManager::selectOnly ( Selectable )

◆ selectOnly() [2/2]

void tracktion::engine::SelectionManager::selectOnly ( Selectable )

◆ addToSelection() [1/2]

void tracktion::engine::SelectionManager::addToSelection ( Selectable )

◆ addToSelection() [2/2]

void tracktion::engine::SelectionManager::addToSelection ( Selectable )

◆ select() [1/3]

void tracktion::engine::SelectionManager::select ( Selectable ,
bool  addToCurrentSelection 
)

◆ select() [2/3]

void tracktion::engine::SelectionManager::select ( Selectable ,
bool  addToCurrentSelection 
)

◆ select() [3/3]

void tracktion::engine::SelectionManager::select ( const SelectableList )

◆ deselectAll()

void tracktion::engine::SelectionManager::deselectAll ( )

◆ deselect()

void tracktion::engine::SelectionManager::deselect ( Selectable )

◆ selectOtherObjects()

void tracktion::engine::SelectionManager::selectOtherObjects ( SelectableClass::Relationship  ,
bool  keepOldItemsSelected 
)

Selects related objects, e.g.

the thing to the right of the current thing, etc.

◆ containsType()

template<typename SelectableClass >
bool tracktion::engine::SelectionManager::containsType ( ) const

◆ getNumObjectsSelectedOfType()

template<typename SelectableClass >
int tracktion::engine::SelectionManager::getNumObjectsSelectedOfType ( ) const

◆ getItemsOfType()

template<typename SelectableClass >
juce::Array<SelectableClass*> tracktion::engine::SelectionManager::getItemsOfType ( ) const

◆ getFirstItemOfType()

template<typename SelectableClass >
SelectableClass* tracktion::engine::SelectionManager::getFirstItemOfType ( ) const

◆ deleteSelected()

void tracktion::engine::SelectionManager::deleteSelected ( )

◆ copySelected()

bool tracktion::engine::SelectionManager::copySelected ( )

◆ cutSelected()

bool tracktion::engine::SelectionManager::cutSelected ( )

◆ pasteSelected()

bool tracktion::engine::SelectionManager::pasteSelected ( )

Offers the selected things the chance to paste the contents of the clipboard onto themselves, returns false if they didn't handle it.

◆ keepSelectedObjectsOnScreen()

void tracktion::engine::SelectionManager::keepSelectedObjectsOnScreen ( )

Scrolls whatever is necessary to keep the selected stuff visible.

◆ refreshPropertyPanel()

void tracktion::engine::SelectionManager::refreshPropertyPanel ( )

◆ refreshAllPropertyPanels()

static void tracktion::engine::SelectionManager::refreshAllPropertyPanels ( )
static

◆ refreshAllPropertyPanelsShowing()

static void tracktion::engine::SelectionManager::refreshAllPropertyPanelsShowing ( Selectable )
static

◆ deselectAllFromAllWindows()

static void tracktion::engine::SelectionManager::deselectAllFromAllWindows ( )
static

◆ selectableObjectChanged()

void tracktion::engine::SelectionManager::selectableObjectChanged ( Selectable )
overridevirtual

◆ selectableObjectAboutToBeDeleted()

void tracktion::engine::SelectionManager::selectableObjectAboutToBeDeleted ( Selectable )
overridevirtual

◆ findSelectionManager() [1/2]

static SelectionManager* tracktion::engine::SelectionManager::findSelectionManager ( const juce::Component *  )
static

◆ findSelectionManager() [2/2]

static SelectionManager* tracktion::engine::SelectionManager::findSelectionManager ( const juce::Component &  )
static

◆ findSelectionManagerContaining() [1/2]

static SelectionManager* tracktion::engine::SelectionManager::findSelectionManagerContaining ( const Selectable )
static

◆ findSelectionManagerContaining() [2/2]

static SelectionManager* tracktion::engine::SelectionManager::findSelectionManagerContaining ( const Selectable )
static

◆ getEdit()

Edit* tracktion::engine::SelectionManager::getEdit ( ) const

Member Data Documentation

◆ selectionChangeCount

int tracktion::engine::SelectionManager::selectionChangeCount = 0

◆ edit

Selectable::WeakRef tracktion::engine::SelectionManager::edit

If this SelectionManager is being used to represent items inside a particular view of an edit, this id should be set so you can find it by iterating the SelectionManagers.

◆ editViewID

int tracktion::engine::SelectionManager::editViewID = -1

◆ insertPoint

EditInsertPoint* tracktion::engine::SelectionManager::insertPoint = nullptr

◆ engine

Engine& tracktion::engine::SelectionManager::engine

The documentation for this class was generated from the following file: