//
//  SequenceViewController.h
//  Dictate
//
//  Created by Yan Tran on 3/23/15.
//
//

#import <Cocoa/Cocoa.h>

@interface SequenceViewController : NSViewController
{
    NSMutableArray * subSequenceArray;
    NSMutableArray * titleArray;
    NSView* currentView;
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil;
- (void) sendFinished:(NSString*)status;
- (void) viewWillDisappear;
- (void) viewDidAppear;
- (bool) shouldShow:(NSString*)ancestorStatus;
- (void) goToNextViewInSubSequence;
- (void) addViewToSubSequence:(NSView*)newView withTitle:(NSString*)title;
- (void) removeViewFromSubSequence:(NSView*)view;
- (void) goToFirstViewInSubSequence;
- (IBAction) goToAlternativeSequenceViewControllerBranch:(id)sender;
- (NSString*) windowTitle;
- (void) goToThisSubSequenceView:(NSView*)nextView withTitle:(NSString*)title;
- (void) goToThisSubSequenceViewWithForwardTransition:(NSView*)nextView withTitle:(NSString*)title;
- (IBAction) goToPreviousViewInSubSequence:(id)sender;
- (IBAction) goToPreviousSequenceViewController:(id)sender;
- (void) resetSubSequence; //removes everything except the first view from the subsequence
- (void) setTransition:(NSString*)direction;
- (void) setContentLeftMargin:(int)margin;
- (BOOL) windowShouldClose:(NSWindow*)window;

@property (weak) NSString* finishStatus;
@property BOOL allowViewToResizeWindow;
@property BOOL standalone;
@property (weak) NSString* windowTitle;
@property (assign) BOOL lastSequenceController;
@property BOOL goBackToMainWhenBranchIsComplete;

@end
