TracktionEngine
|
Represents a type of object that can be selected. More...
#include <tracktion_SelectableClass.h>
Classes | |
struct | AddClipboardEntryParams |
struct | ClassInstance |
struct | ClassInstanceBase |
struct | DeleteSelectedParams |
struct | SelectOtherObjectsParams |
Public Types | |
enum class | Relationship { moveUp , moveDown , moveLeft , moveRight , moveToHome , moveToEnd , selectAll } |
Public Member Functions | |
SelectableClass () | |
virtual | ~SelectableClass () |
virtual juce::String | getDescriptionOfSelectedGroup (const SelectableList &) |
Must return a description of this particular group of objects. | |
virtual bool | canBeSelected (const Selectable &object) |
If it's possible for an object to be selected. | |
virtual bool | canClassesBeSelectedAtTheSameTime (SelectableClass *otherClass) |
if it's possible for an object of this class to be selected at the same time as an object of the class passed in, this should return true. | |
virtual bool | canObjectsBeSelectedAtTheSameTime (Selectable &object1, Selectable &object2) |
This is only called if canClassesBeSelectedAtTheSameTime() has already returned true for the other object. | |
virtual void | addClipboardEntriesFor (AddClipboardEntryParams &) |
A class should use this to create XML clipboard entries for the given set of items. | |
virtual void | deleteSelected (const DeleteSelectedParams ¶ms) |
Deletes this set of objects. | |
virtual bool | pasteClipboard (const SelectableList ¤tlySelectedItems, int editViewID) |
This gives the selected items a first chance to paste the clipboard contents when the user presses ctrl-v. | |
virtual bool | canCutSelected (const SelectableList &selectedObjects) |
virtual void | selectOtherObjects (const SelectOtherObjectsParams &) |
Must try to find and select objects that are related to these ones in the specified way. | |
virtual void | keepSelectedObjectOnScreen (const SelectableList ¤tlySelectedObjects) |
if implemented, this should do whatever is appropriate to make these objects visible - e.g. | |
Static Public Member Functions | |
static SelectableClass * | findClassFor (const Selectable &) |
static SelectableClass * | findClassFor (const Selectable *) |
template<typename SelectableType > | |
static SelectableClass * | findClassFor () |
static bool | areAllObjectsOfUniformType (const SelectableList &selectedObjects) |
Represents a type of object that can be selected.
Each Selectable must be able to provide a SelectableClass for itself, so that when there are a bunch of similar objects selected, the class object knows how to deal with them as a group.
|
strong |
tracktion::engine::SelectableClass::SelectableClass | ( | ) |
|
virtual |
|
static |
|
static |
|
static |
|
virtual |
Must return a description of this particular group of objects.
This will be shown on the properties panel.
|
virtual |
If it's possible for an object to be selected.
Things like currently recording clips should not be selectable
|
virtual |
if it's possible for an object of this class to be selected at the same time as an object of the class passed in, this should return true.
Default is only to be true if the other object is actually this one.
|
virtual |
This is only called if canClassesBeSelectedAtTheSameTime() has already returned true for the other object.
Returns true by default.
|
virtual |
A class should use this to create XML clipboard entries for the given set of items.
|
virtual |
Deletes this set of objects.
The partOfCutOperation flag is set if it's being called from SelectableManager::cutSelected()
|
virtual |
This gives the selected items a first chance to paste the clipboard contents when the user presses ctrl-v.
If it doesn't want to handle this, it should return false, and the edit object will be offered the clipboard
|
virtual |
|
virtual |
Must try to find and select objects that are related to these ones in the specified way.
|
virtual |
if implemented, this should do whatever is appropriate to make these objects visible - e.g.
scrolling to them, etc.
|
static |