Skip to content

Commit

Permalink
WordPressReimagined
Browse files Browse the repository at this point in the history
  • Loading branch information
boctor committed Mar 18, 2011
1 parent 33eb40a commit a0b5acc
Show file tree
Hide file tree
Showing 55 changed files with 8,985 additions and 0 deletions.
48 changes: 48 additions & 0 deletions WordPressReimagined/Classes/BaseLoadingViewController.h
@@ -0,0 +1,48 @@
//
// BaseLoadingViewController.h
// WordPressReimagined
//
// Created by Peter Boctor on 3/17/11.
//
// Copyright (c) 2011 Peter Boctor
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE

@interface BaseLoadingViewController : UIViewController
{
IBOutlet UIView* loadingView;
IBOutlet UILabel* loadingLabel;
IBOutlet UILabel* messageLabel;
IBOutlet UIActivityIndicatorView* activityIndicator;
}

@property (nonatomic, retain) IBOutlet UIView* loadingView;
@property (nonatomic, retain) IBOutlet UILabel* loadingLabel;
@property (nonatomic, retain) IBOutlet UILabel* messageLabel;
@property (nonatomic, retain) IBOutlet UIActivityIndicatorView* activityIndicator;

- (CGPoint) centerForLoading;
- (void) showLoading;
- (void) hideLoading;
- (void) errorMessage:(NSString*) message;
- (void) defaultErrorMessage;
- (void) clearError;
- (void) prepareForLoadingOrMessage;

@end
118 changes: 118 additions & 0 deletions WordPressReimagined/Classes/BaseLoadingViewController.m
@@ -0,0 +1,118 @@
//
// BaseLoadingViewController.m
// WordPressReimagined
//
// Created by Peter Boctor on 3/17/11.
//
// Copyright (c) 2011 Peter Boctor
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE

#import "BaseLoadingViewController.h"

@implementation BaseLoadingViewController
@synthesize loadingView, loadingLabel, messageLabel, activityIndicator;

- (void)viewDidLoad
{
[super viewDidLoad];

if (!self.loadingView)
{
[[NSBundle mainBundle] loadNibNamed:@"BaseLoadingViewController" owner:self options:nil];
[self.view addSubview:self.loadingView];
}
}

- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];

self.loadingView.center = [self centerForLoading];
}

- (CGPoint) centerForLoading
{
return [UIApplication sharedApplication].keyWindow.center;
}

- (void) showLoading
{
loadingLabel.hidden= NO;
activityIndicator.hidden = NO;
messageLabel.hidden = YES;

[self prepareForLoadingOrMessage];
}

- (void) hideLoading
{
loadingLabel.hidden = YES;
activityIndicator.hidden = YES;
messageLabel.hidden = YES;
}

- (void) prepareForLoadingOrMessage
{
// Empty implementation. Sub-classes can override to hide UI elements in preparation
}

- (void) errorMessage:(NSString*) message
{
NSString* messageString = message;
if (!message)
messageString = @"Unable to load. Please try again.";

messageLabel.text = messageString;
messageLabel.hidden = NO;
loadingLabel.hidden = YES;
activityIndicator.hidden = YES;

[self prepareForLoadingOrMessage];
}

- (void) defaultErrorMessage
{
[self errorMessage:nil];
}

- (void) clearError
{
messageLabel.text = @"";
}

- (void)viewDidUnload
{
self.loadingView = nil;
self.loadingLabel = nil;
self.messageLabel = nil;
self.activityIndicator = nil;
}

- (void)dealloc
{
[loadingView release], loadingView = nil;
[loadingLabel release], loadingLabel = nil;
[messageLabel release], messageLabel = nil;
[activityIndicator release], activityIndicator = nil;

[super dealloc];
}

@end
36 changes: 36 additions & 0 deletions WordPressReimagined/Classes/BaseTableViewCell.h
@@ -0,0 +1,36 @@
//
// BaseTableViewCell.h
// WordPressReimagined
//
// Created by Peter Boctor on 3/17/11.
//
// Copyright (c) 2011 Peter Boctor
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE

#import "ModelObject.h"

@interface BaseTableViewCell : UITableViewCell
{
ModelObject* modelObject;
}

@property (nonatomic, retain) ModelObject* modelObject;

@end
46 changes: 46 additions & 0 deletions WordPressReimagined/Classes/BaseTableViewCell.m
@@ -0,0 +1,46 @@
//
// BaseTableViewCell.h
// WordPressReimagined
//
// Created by Peter Boctor on 3/17/11.
//
// Copyright (c) 2011 Peter Boctor
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE
//
// BaseTableViewCell.m
// WordPressReimagined
//
// Created by Peter Boctor on 3/17/11.
// Copyright 2011 Peter Boctor. All rights reserved.
//

#import "BaseTableViewCell.h"

@implementation BaseTableViewCell
@synthesize modelObject;

- (void)dealloc
{
[modelObject release];
[super dealloc];
}


@end
53 changes: 53 additions & 0 deletions WordPressReimagined/Classes/BaseTableViewController.h
@@ -0,0 +1,53 @@
//
// BaseTableViewController.h
// WordPressReimagined
//
// Created by Peter Boctor on 3/17/11.
//
// Copyright (c) 2011 Peter Boctor
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE

#import "BaseLoadingViewController.h"

@interface BaseTableViewController : BaseLoadingViewController
{
IBOutlet UITableView* tableView;
IBOutlet UITableViewCell *tableViewCell;

NSArray* collection;
NSURLConnection* collectionConnection;
NSMutableData* collectionData;

NSInteger nextPage;
}

@property (nonatomic, retain) IBOutlet UITableView* tableView;
@property (nonatomic, retain) IBOutlet UITableViewCell *tableViewCell;

@property (nonatomic, retain) NSArray* collection;
@property (nonatomic, retain) NSURLConnection* collectionConnection;
@property (nonatomic, retain) NSMutableData* collectionData;

@property (nonatomic) NSInteger nextPage;

- (UITableView*) visibleTable;
- (BOOL) isMoreCell:(NSIndexPath*) indexPath;

@end

0 comments on commit a0b5acc

Please sign in to comment.