Photosine 0.5
Loading...
Searching...
No Matches
Timeline::TrackComponent Class Referenceabstract

#include <TrackComponent.h>

Inheritance diagram for Timeline::TrackComponent:
Timeline::AudioTrackComponent Timeline::DataTrackComponent Timeline::VideoTrackComponent

Public Member Functions

 TrackComponent (juce::ValueTree treeToAttachTo)
 ~TrackComponent () override
virtual PhotosineProjectValueTree::TrackType getTrackType ()=0
juce::ValueTree getTree ()
juce::Component virtual members
void paint (juce::Graphics &) override
void resized () override
void paintOverChildren (juce::Graphics &g) override
juce::DragAndDropTarget virtual members
bool isInterestedInDragSource (const SourceDetails &dragSourceDetails) override
void itemDragEnter (const SourceDetails &dragSourceDetails) override
void itemDragMove (const SourceDetails &dragSourceDetails) override
void itemDragExit (const SourceDetails &dragSourceDetails) override
void itemDropped (const SourceDetails &dragSourceDetails) override

Private Member Functions

virtual void paintTrackBackground (juce::Graphics &g)=0
virtual void paintTrackTypeIndicator (juce::Graphics &g, float width, float height)=0
void select ()
juce::ValueTree::Listener virtual members
void valueTreePropertyChanged (juce::ValueTree &treeWhosePropertyHasChanged, const juce::Identifier &property) override
void valueTreeChildAdded (juce::ValueTree &parentTree, juce::ValueTree &childWhichHasBeenAdded) override
void valueTreeChildRemoved (juce::ValueTree &parentTree, juce::ValueTree &childWhichHasBeenRemoved, int indexFromWhichChildWasRemoved) override
void valueTreeChildOrderChanged (juce::ValueTree &parentTreeWhoseChildrenHaveMoved, int oldIndex, int newIndex) override
juce::MouseListener virtual members
void mouseDrag (const juce::MouseEvent &) override
void mouseDown (const juce::MouseEvent &event) override
void mouseUp (const juce::MouseEvent &event) override
juce::Label::Listener virtual members
void labelTextChanged (juce::Label *labelThatHasChanged) override
void editorShown (juce::Label *, juce::TextEditor &) override

Private Attributes

int headerWidth
std::unique_ptr< juce::Label > trackTitle
juce::ValueTree reflectedTree

Detailed Description

Base class for different types of track components. See also: VideoTrackComponent, AudioTrackComponent, DataTrackComponent

Constructor & Destructor Documentation

◆ TrackComponent()

Timeline::TrackComponent::TrackComponent ( juce::ValueTree treeToAttachTo)

◆ ~TrackComponent()

Timeline::TrackComponent::~TrackComponent ( )
override

Member Function Documentation

◆ editorShown()

void Timeline::TrackComponent::editorShown ( juce::Label * ,
juce::TextEditor &  )
overrideprivate

◆ getTrackType()

virtual PhotosineProjectValueTree::TrackType Timeline::TrackComponent::getTrackType ( )
pure virtual

Used to determine the type of track a derived class is.

Implemented in Timeline::AudioTrackComponent, Timeline::DataTrackComponent, and Timeline::VideoTrackComponent.

◆ getTree()

juce::ValueTree Timeline::TrackComponent::getTree ( )

Returns the value tree attached to this component.

◆ isInterestedInDragSource()

bool Timeline::TrackComponent::isInterestedInDragSource ( const SourceDetails & dragSourceDetails)
override

◆ itemDragEnter()

void Timeline::TrackComponent::itemDragEnter ( const SourceDetails & dragSourceDetails)
override

◆ itemDragExit()

void Timeline::TrackComponent::itemDragExit ( const SourceDetails & dragSourceDetails)
override

◆ itemDragMove()

void Timeline::TrackComponent::itemDragMove ( const SourceDetails & dragSourceDetails)
override

◆ itemDropped()

void Timeline::TrackComponent::itemDropped ( const SourceDetails & dragSourceDetails)
override

◆ labelTextChanged()

void Timeline::TrackComponent::labelTextChanged ( juce::Label * labelThatHasChanged)
overrideprivate

◆ mouseDown()

void Timeline::TrackComponent::mouseDown ( const juce::MouseEvent & event)
overrideprivate

◆ mouseDrag()

void Timeline::TrackComponent::mouseDrag ( const juce::MouseEvent & )
overrideprivate

◆ mouseUp()

void Timeline::TrackComponent::mouseUp ( const juce::MouseEvent & event)
overrideprivate

◆ paint()

void Timeline::TrackComponent::paint ( juce::Graphics & g)
override

◆ paintOverChildren()

void Timeline::TrackComponent::paintOverChildren ( juce::Graphics & g)
override

◆ paintTrackBackground()

virtual void Timeline::TrackComponent::paintTrackBackground ( juce::Graphics & g)
privatepure virtual

◆ paintTrackTypeIndicator()

virtual void Timeline::TrackComponent::paintTrackTypeIndicator ( juce::Graphics & g,
float width,
float height )
privatepure virtual

Paints the square indicator that displays the type of track in the header at the top left.

Implemented in Timeline::AudioTrackComponent, Timeline::DataTrackComponent, and Timeline::VideoTrackComponent.

◆ resized()

void Timeline::TrackComponent::resized ( )
override

◆ select()

void Timeline::TrackComponent::select ( )
private

◆ valueTreeChildAdded()

void Timeline::TrackComponent::valueTreeChildAdded ( juce::ValueTree & parentTree,
juce::ValueTree & childWhichHasBeenAdded )
overrideprivate

◆ valueTreeChildOrderChanged()

void Timeline::TrackComponent::valueTreeChildOrderChanged ( juce::ValueTree & parentTreeWhoseChildrenHaveMoved,
int oldIndex,
int newIndex )
overrideprivate

◆ valueTreeChildRemoved()

void Timeline::TrackComponent::valueTreeChildRemoved ( juce::ValueTree & parentTree,
juce::ValueTree & childWhichHasBeenRemoved,
int indexFromWhichChildWasRemoved )
overrideprivate

◆ valueTreePropertyChanged()

void Timeline::TrackComponent::valueTreePropertyChanged ( juce::ValueTree & treeWhosePropertyHasChanged,
const juce::Identifier & property )
overrideprivate

Member Data Documentation

◆ headerWidth

int Timeline::TrackComponent::headerWidth
private

◆ reflectedTree

juce::ValueTree Timeline::TrackComponent::reflectedTree
private

◆ trackTitle

std::unique_ptr<juce::Label> Timeline::TrackComponent::trackTitle
private

The documentation for this class was generated from the following files:
  • /Users/cliftonmarien/Documents/Photosine/Photosine/Source/Timeline/TrackComponent.h
  • /Users/cliftonmarien/Documents/Photosine/Photosine/Source/Timeline/TrackComponent.cpp