1 // This file is part of Golly. 2 // See docs/License.html for the copyright notice. 3 4 #import <UIKit/UIKit.h> 5 #import "PatternView.h" 6 #import "StatusView.h" 7 #import "StateView.h" 8 9 // This is the view controller for the Pattern tab. 10 11 @interface PatternViewController : UIViewController 12 { 13 IBOutlet PatternView *pattView; 14 IBOutlet StatusView *statView; 15 IBOutlet UIButton *startStopButton; 16 IBOutlet UIButton *restoreButton; 17 IBOutlet UIBarButtonItem *resetButton; 18 IBOutlet UIBarButtonItem *undoButton; 19 IBOutlet UIBarButtonItem *redoButton; 20 IBOutlet UIBarButtonItem *actionButton; 21 IBOutlet UIBarButtonItem *infoButton; 22 IBOutlet UISegmentedControl *stepControl; 23 IBOutlet UISegmentedControl *scaleControl; 24 IBOutlet UISegmentedControl *modeControl; 25 IBOutlet UILabel *stateLabel; 26 IBOutlet StateView *stateView; 27 IBOutlet UIToolbar *topBar; 28 IBOutlet UIToolbar *editBar; 29 IBOutlet UIToolbar *bottomBar; 30 IBOutlet UIView *progressView; 31 IBOutlet UILabel *progressTitle; 32 IBOutlet UILabel *progressMessage; 33 IBOutlet UIProgressView *progressBar; 34 IBOutlet UIButton *cancelButton; 35 36 NSTimer *genTimer; 37 } 38 39 - (IBAction)doReset:(id)sender; 40 - (IBAction)doStartStop:(id)sender; 41 - (IBAction)doNext:(id)sender; 42 - (IBAction)doStep:(id)sender; 43 - (IBAction)doFit:(id)sender; 44 - (IBAction)doChangeStep:(id)sender; 45 - (IBAction)doChangeScale:(id)sender; 46 - (IBAction)doChangeMode:(id)sender; 47 - (IBAction)doUndo:(id)sender; 48 - (IBAction)doRedo:(id)sender; 49 - (IBAction)doMiddle:(id)sender; 50 - (IBAction)doSelectAll:(id)sender; 51 - (IBAction)doAction:(id)sender; 52 - (IBAction)doPaste:(id)sender; 53 - (IBAction)doRule:(id)sender; 54 - (IBAction)doNew:(id)sender; 55 - (IBAction)doInfo:(id)sender; 56 - (IBAction)doSave:(id)sender; 57 - (IBAction)doCancel:(id)sender; 58 - (IBAction)toggleFullScreen:(id)sender; 59 60 - (void)updateDrawingState; 61 - (void)updateButtons; 62 - (void)toggleStartStopButton; 63 - (void)stopIfGenerating; 64 - (void)startGenTimer; 65 - (void)stopGenTimer; 66 - (void)doGeneration:(NSTimer*)theTimer; 67 68 @end 69 70 // other modules need these routines: 71 void UpdatePattern(); 72 void UpdateStatus(); 73 void UpdateEditBar(); 74 void CloseStatePicker(); 75 void PauseGenTimer(); 76 void RestartGenTimer(); 77 void PauseGenerating(); 78 void ResumeGenerating(); 79 void StopIfGenerating(); 80 void BeginProgress(const char* title); 81 bool AbortProgress(double fraction_done, const char* message); 82 void EndProgress(); 83