Oshevnev

IASKAppSettingsViewController.h

Jul 16th, 2012
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //
  2. //  IASKAppSettingsViewController.h
  3. //  http://www.inappsettingskit.com
  4. //
  5. //  Copyright (c) 2009:
  6. //  Luc Vandal, Edovia Inc., http://www.edovia.com
  7. //  Ortwin Gentz, FutureTap GmbH, http://www.futuretap.com
  8. //  All rights reserved.
  9. //
  10. //  It is appreciated but not required that you give credit to Luc Vandal and Ortwin Gentz,
  11. //  as the original authors of this code. You can give credit in a blog post, a tweet or on
  12. //  a info page of your app. Also, the original authors appreciate letting them know if you use this code.
  13. //
  14. //  This code is licensed under the BSD license that is available at: http://www.opensource.org/licenses/bsd-license.php
  15. //
  16.  
  17. #import <UIKit/UIKit.h>
  18. #import <MessageUI/MessageUI.h>
  19.  
  20. #import "IASKSettingsStore.h"
  21. #import "IASKViewController.h"
  22.  
  23. @class IASKSettingsReader;
  24. @class IASKAppSettingsViewController;
  25. @class IASKSpecifier;
  26.  
  27. @protocol IASKSettingsDelegate
  28. - (void)settingsViewControllerDidEnd:(IASKAppSettingsViewController*)sender;
  29.  
  30. @optional
  31. #pragma mark - UITableView header customization
  32. - (CGFloat) settingsViewController:(id<IASKViewController>)settingsViewController
  33.                          tableView:(UITableView *)tableView
  34.          heightForHeaderForSection:(NSInteger)section;
  35. - (UIView *) settingsViewController:(id<IASKViewController>)settingsViewController
  36.                           tableView:(UITableView *)tableView
  37.             viewForHeaderForSection:(NSInteger)section;
  38.  
  39. #pragma mark - UITableView cell customization
  40. - (CGFloat)tableView:(UITableView*)tableView heightForSpecifier:(IASKSpecifier*)specifier;
  41. - (UITableViewCell*)tableView:(UITableView*)tableView cellForSpecifier:(IASKSpecifier*)specifier;
  42.  
  43. #pragma mark - mail composing customization
  44. - (NSString*) settingsViewController:(id<IASKViewController>)settingsViewController
  45.          mailComposeBodyForSpecifier:(IASKSpecifier*) specifier;
  46.  
  47. - (UIViewController<MFMailComposeViewControllerDelegate>*) settingsViewController:(id<IASKViewController>)settingsViewController
  48.                                      viewControllerForMailComposeViewForSpecifier:(IASKSpecifier*) specifier;
  49.  
  50. - (void) settingsViewController:(id<IASKViewController>) settingsViewController
  51.           mailComposeController:(MFMailComposeViewController*)controller
  52.             didFinishWithResult:(MFMailComposeResult)result
  53.                           error:(NSError*)error;
  54.  
  55. #pragma mark - respond to button taps
  56. - (void)settingsViewController:(IASKAppSettingsViewController*)sender buttonTappedForKey:(NSString*)key __attribute__((deprecated)); // use the method below with specifier instead
  57. - (void)settingsViewController:(IASKAppSettingsViewController*)sender buttonTappedForSpecifier:(IASKSpecifier*)specifier;
  58. - (void)settingsViewController:(IASKAppSettingsViewController*)sender tableView:(UITableView *)tableView didSelectCustomViewSpecifier:(IASKSpecifier*)specifier;
  59. @end
  60.  
  61.  
  62. @interface IASKAppSettingsViewController : UITableViewController <IASKViewController, UITextFieldDelegate, MFMailComposeViewControllerDelegate> {
  63.     id<IASKSettingsDelegate>  _delegate;
  64.    
  65.     NSMutableArray          *_viewList;
  66.    
  67.     IASKSettingsReader      *_settingsReader;
  68.     id<IASKSettingsStore>  _settingsStore;
  69.     NSString                *_file;
  70.    
  71.     id                      _currentFirstResponder;
  72.    
  73.     BOOL                    _showCreditsFooter;
  74.     BOOL                    _showDoneButton;
  75.    
  76.     NSSet                   *_hiddenKeys;
  77. }
  78.  
  79. @property (nonatomic, assign) id delegate;
  80. @property (nonatomic, copy) NSString *file;
  81. @property (nonatomic, assign) BOOL showCreditsFooter;
  82. @property (nonatomic, assign) BOOL showDoneButton;
  83. @property (nonatomic, retain) NSSet *hiddenKeys;
  84.  
  85. - (void)synchronizeSettings;
  86. - (void)dismiss:(id)sender;
  87. - (void)setHiddenKeys:(NSSet*)hiddenKeys animated:(BOOL)animated;
  88. @end
Advertisement
Add Comment
Please, Sign In to add comment