void SAnimCompositePanel::Update()
{
	ClearSelected();
	if ( Composite != NULL )
	{
		SAnimCompositeEditor* Editor = CompositeEditor.Pin().Get();

		TSharedPtr<FTrackColorTracker> ColourTracker = MakeShareable(new FTrackColorTracker);
		ColourTracker->AddColor(FLinearColor(0.9f, 0.9f, 0.9f, 0.9f));
		ColourTracker->AddColor(FLinearColor(0.5f, 0.5f, 0.5f));

		FLinearColor NodeColor = FLinearColor(0.f, 0.5f, 0.0f, 0.5f);
		
		TSharedPtr<SVerticalBox> CompositeSlots;
		PanelArea->SetContent(
			SAssignNew( CompositeSlots, SVerticalBox )
			);

		TSharedRef<S2ColumnWidget> SectionTrack = Create2ColumnWidget(CompositeSlots.ToSharedRef());

		SectionTrack->LeftColumn->AddSlot()
			.AutoHeight()
			.VAlign(VAlign_Center)
			[
				SNew(SAnimSegmentsPanel)
				.AnimTrack(&Composite->AnimationTrack)
				.NodeSelectionSet(&SelectionSet)
				.ViewInputMin(ViewInputMin)
				.ViewInputMax(ViewInputMax)
				.ColorTracker(ColourTracker)
				.NodeColor(NodeColor)
				.ScrubPosition( Editor, &SAnimCompositeEditor::GetScrubValue )
				.TrackMaxValue(Composite->SequenceLength)
				.TrackNumDiscreteValues(Composite->GetNumberOfFrames())

				.OnAnimSegmentNodeClicked( this, &SAnimCompositePanel::ShowSegmentInDetailsView )
				.OnPreAnimUpdate( Editor, &SAnimCompositeEditor::PreAnimUpdate )
				.OnPostAnimUpdate( Editor, &SAnimCompositeEditor::PostAnimUpdate )
			];
	}
}