DetailedOptionsSelectorTableViewController.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /**
  2. * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
  3. * SPDX-License-Identifier: GPL-3.0-or-later
  4. */
  5. #import <UIKit/UIKit.h>
  6. @interface DetailedOption : NSObject
  7. @property (nonatomic, copy) NSString *identifier;
  8. @property (nonatomic, copy) NSString *title;
  9. @property (nonatomic, copy) NSString *subtitle;
  10. @property (nonatomic, copy) UIImage *image;
  11. @property (nonatomic, assign) BOOL selected;
  12. @end
  13. typedef NS_ENUM(NSInteger, DetailedOptionsSelectorType) {
  14. DetailedOptionsSelectorTypeDefault = 0,
  15. DetailedOptionsSelectorTypeAccounts
  16. };
  17. @class DetailedOptionsSelectorTableViewController;
  18. @protocol DetailedOptionsSelectorTableViewControllerDelegate <NSObject>
  19. - (void)detailedOptionsSelector:(DetailedOptionsSelectorTableViewController *)viewController didSelectOptionWithIdentifier:(DetailedOption *)option;
  20. - (void)detailedOptionsSelectorWasCancelled:(DetailedOptionsSelectorTableViewController *)viewController;
  21. @end
  22. @interface DetailedOptionsSelectorTableViewController : UITableViewController
  23. @property (nonatomic, weak) id<DetailedOptionsSelectorTableViewControllerDelegate> delegate;
  24. @property (nonatomic, strong) NSArray *options;
  25. @property (nonatomic, strong) NSString *senderId;
  26. @property (nonatomic, assign) DetailedOptionsSelectorType type;
  27. - (instancetype)initWithOptions:(NSArray *)options forSenderIdentifier:(NSString *)senderId andStyle:(UITableViewStyle)style;
  28. - (instancetype)initWithAccounts:(NSArray *)accounts andStyle:(UITableViewStyle)style;
  29. @end