Skip to content
Snippets Groups Projects
Commit c3fa31d2 authored by Maxime Graulich's avatar Maxime Graulich
Browse files

iOS: Run/Stop in navigation bar + fix loading popup

parent c13768f5
No related branches found
No related tags found
No related merge requests found
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#import "EAGLView.h" #import "EAGLView.h"
@interface ModelListController : UITableViewController <NSXMLParserDelegate> @interface ModelListController : UITableViewController <NSXMLParserDelegate, UIActionSheetDelegate>
{ {
@private @private
NSMutableArray *models; NSMutableArray *models;
......
...@@ -94,7 +94,7 @@ ...@@ -94,7 +94,7 @@
if(indexPath == nil) return; if(indexPath == nil) return;
UIActionSheet *actionSheet; UIActionSheet *actionSheet;
if([[models objectAtIndex:indexPath.row] getUrl]) if([[models objectAtIndex:indexPath.row] getUrl])
actionSheet = [[UIActionSheet alloc] initWithTitle:[[models objectAtIndex:indexPath.row] getName] delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles: @"Open this models", @"More informations", nil]; actionSheet = [[UIActionSheet alloc] initWithTitle:[[models objectAtIndex:indexPath.row] getName] delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles: @"Open this models", @"More information", nil];
else else
actionSheet = [[UIActionSheet alloc] initWithTitle:[[models objectAtIndex:indexPath.row] getName] delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles: @"Open this models", nil]; actionSheet = [[UIActionSheet alloc] initWithTitle:[[models objectAtIndex:indexPath.row] getName] delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles: @"Open this models", nil];
actionSheet.tag = indexPath.row; actionSheet.tag = indexPath.row;
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
{ {
@private @private
double scaleFactor; double scaleFactor;
UIBarButtonItem *_runStopButton;
UIAlertView *_loadingAlert;
} }
- (IBAction)pinch:(UIPinchGestureRecognizer *)sender; - (IBAction)pinch:(UIPinchGestureRecognizer *)sender;
...@@ -20,7 +22,6 @@ ...@@ -20,7 +22,6 @@
@property (nonatomic, retain) EAGLView *glView; @property (nonatomic, retain) EAGLView *glView;
@property (strong, nonatomic) id detailItem; @property (strong, nonatomic) id detailItem;
@property (strong, nonatomic) IBOutlet UIButton *runStopButton;
@property (weak, nonatomic) IBOutlet UILabel *progressLabel; @property (weak, nonatomic) IBOutlet UILabel *progressLabel;
@property (weak, nonatomic) IBOutlet UIActivityIndicatorView *progressIndicator; @property (weak, nonatomic) IBOutlet UIActivityIndicatorView *progressIndicator;
......
...@@ -43,21 +43,27 @@ ...@@ -43,21 +43,27 @@
} }
} }
-(void)viewWillAppear:(BOOL)animated
{
if(self.initialModel != nil) {
_loadingAlert = [[UIAlertView alloc] initWithTitle:@"Please wait..." message: @"The model is loading" delegate: self cancelButtonTitle: nil otherButtonTitles: nil];
[_loadingAlert show];
}
}
-(void)viewDidAppear:(BOOL)animated -(void)viewDidAppear:(BOOL)animated
{ {
_runStopButton.frame = CGRectMake(self.view.frame.size.width - _runStopButton.frame.size.width - 7, 50, _runStopButton.frame.size.width, _runStopButton.frame.size.height );
_progressLabel.frame = CGRectMake(50, self.view.frame.size.height - 25, _progressLabel.frame.size.width, _progressLabel.frame.size.height); _progressLabel.frame = CGRectMake(50, self.view.frame.size.height - 25, _progressLabel.frame.size.width, _progressLabel.frame.size.height);
_progressIndicator.frame = CGRectMake(20, self.view.frame.size.height - 25, _progressIndicator.frame.size.width, _progressIndicator.frame.size.height); _progressIndicator.frame = CGRectMake(20, self.view.frame.size.height - 25, _progressIndicator.frame.size.width, _progressIndicator.frame.size.height);
[_progressIndicator addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleProgressIndicatorTap:)]]; [_progressIndicator addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleProgressIndicatorTap:)]];
[_progressLabel setHidden:YES]; [_progressLabel setHidden:YES];
[_progressIndicator setHidden:YES]; [_progressIndicator setHidden:YES];
[self.navigationController setToolbarHidden:YES animated:YES];
if(self.initialModel != nil){ if(self.initialModel != nil){
UIAlertView* progressAlert = [[UIAlertView alloc] initWithTitle:@"Please wait..." message: @"The model is loading" delegate: self cancelButtonTitle: nil otherButtonTitles: nil];
[progressAlert show];
[self.glView load:self.initialModel]; [self.glView load:self.initialModel];
//[self.initialModel release]; //[self.initialModel release];
self.initialModel = nil; self.initialModel = nil;
[progressAlert dismissWithClickedButtonIndex:-1 animated:YES]; [_loadingAlert dismissWithClickedButtonIndex:-1 animated:YES];
} }
} }
...@@ -69,29 +75,28 @@ ...@@ -69,29 +75,28 @@
scaleFactor = 1.; scaleFactor = 1.;
setObjCBridge((__bridge void*) self); setObjCBridge((__bridge void*) self);
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(requestRender) name:@"requestRender" object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(requestRender) name:@"requestRender" object:nil];
_runStopButton = [[UIBarButtonItem alloc] initWithTitle:@"Run" style:UIBarButtonItemStyleBordered target:self action:@selector(compute)];
if([[UIDevice currentDevice].model isEqualToString:@"iPad"] || [[UIDevice currentDevice].model isEqualToString:@"iPad Simulator"]){ if([[UIDevice currentDevice].model isEqualToString:@"iPad"] || [[UIDevice currentDevice].model isEqualToString:@"iPad Simulator"]){
UIBarButtonItem *model = [[UIBarButtonItem alloc] initWithTitle:@"Model list" style:UIBarButtonItemStyleBordered target:self action:@selector(showModelsList)]; UIBarButtonItem *model = [[UIBarButtonItem alloc] initWithTitle:@"Model list" style:UIBarButtonItemStyleBordered target:self action:@selector(showModelsList)];
[self.navigationItem setRightBarButtonItem:model]; [self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects:_runStopButton, model, nil]];
} }
else else
{ {
UIBarButtonItem *settings = [[UIBarButtonItem alloc] initWithTitle:@"Parameters" style:UIBarButtonItemStyleBordered target:self action:@selector(showSettings)]; UIBarButtonItem *settings = [[UIBarButtonItem alloc] initWithTitle:@"Parameters" style:UIBarButtonItemStyleBordered target:self action:@selector(showSettings)];
[self.navigationItem setRightBarButtonItem:settings]; [self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects:_runStopButton, settings, nil]];
} }
[_runStopButton addTarget:self action:@selector(compute) forControlEvents:UIControlEventTouchDown];
} }
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{ {
_runStopButton.frame = CGRectMake(self.view.frame.size.width - _runStopButton.frame.size.width - 7, 50, _runStopButton.frame.size.width, _runStopButton.frame.size.height );
_progressLabel.frame = CGRectMake(50, self.view.frame.size.height - 25, _progressLabel.frame.size.width, _progressLabel.frame.size.height); _progressLabel.frame = CGRectMake(50, self.view.frame.size.height - 25, _progressLabel.frame.size.width, _progressLabel.frame.size.height);
_progressIndicator.frame = CGRectMake(20, self.view.frame.size.height - 25, _progressIndicator.frame.size.width, _progressIndicator.frame.size.height); _progressIndicator.frame = CGRectMake(20, self.view.frame.size.height - 25, _progressIndicator.frame.size.width, _progressIndicator.frame.size.height);
} }
- (void)compute - (void)compute
{ {
[_runStopButton addTarget:self action:@selector(stop) forControlEvents:UIControlEventTouchDown]; [_runStopButton setAction:@selector(stop)];
[_runStopButton setTitle:@"Stop" forState:UIControlStateNormal]; [_runStopButton setTitle:@"Stop"];
[_progressLabel setText:@""]; [_progressLabel setText:@""];
[_progressLabel setHidden:NO]; [_progressLabel setHidden:NO];
[_progressIndicator setHidden:NO]; [_progressIndicator setHidden:NO];
...@@ -111,8 +116,8 @@ ...@@ -111,8 +116,8 @@
} }
- (void)didStopCompute - (void)didStopCompute
{ {
[_runStopButton addTarget:self action:@selector(compute) forControlEvents:UIControlEventTouchDown]; [_runStopButton setAction:@selector(compute)];
[_runStopButton setTitle:@"Run" forState:UIControlStateNormal]; [_runStopButton setTitle:@"Run"];
[_progressLabel setHidden:YES]; [_progressLabel setHidden:YES];
[_progressIndicator stopAnimating]; [_progressIndicator stopAnimating];
[_progressIndicator setHidden:YES]; [_progressIndicator setHidden:YES];
...@@ -202,7 +207,6 @@ ...@@ -202,7 +207,6 @@
- (void)viewDidUnload - (void)viewDidUnload
{ {
[self setGlView:nil]; [self setGlView:nil];
[self setRunStopButton:nil];
[self setProgressLabel:nil]; [self setProgressLabel:nil];
[self setProgressIndicator:nil]; [self setProgressIndicator:nil];
[super viewDidUnload]; [super viewDidUnload];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment