//
//  LCBaseAnimationPreset.h
//  LogoistCore
//
//  Created by Mendel Kucharzeck on 15.09.12.
//  Copyright (c) 2012 AvisNocturna Software. All rights reserved.
//

@class LCTimelineAnimateableObject;
@class LCObjectsTimelineManager;
@class LCBaseObject;
@class LCObjectsContainer;

@interface LCBaseAnimationPreset : NSObject
{
}

- (id) init;

- (void) applyToObject:(LCTimelineAnimateableObject*)object withTimelineManager:(LCObjectsTimelineManager*)timelineManager;

//For Subclassers
+ (NSString*) displayName;

+ (BOOL) canBeAppliedToObject:(LCTimelineAnimateableObject*)object;                             //Defaults to YES
+ (LCBaseObject*) objectToUseForPreviewInContainer:(LCObjectsContainer*)container;              //Defaults to LCTextObject

@property (readonly) NSArray *propertyEditDictionaries;
- (void) setDefaultValuesForTimelineManager:(LCObjectsTimelineManager*)timelineManager;
- (NSTimeInterval) startTime;
- (NSTimeInterval) endTime;

- (void) addPropertiesAndChangesToObject:(LCTimelineAnimateableObject*)object inTimelineManager:(LCObjectsTimelineManager*)timelineManager;

@end
