#import "HBTintedTableCell.h"
/// The HBLinkTableCell class in CepheiPrefs displays a button that, when tapped, opens the
/// specified URL. A typical icon can be used, or the initials key can be set to one or two
/// characters to show as the icon.
///
/// This cell can either be used without setting any cell type, or by setting it to `PSButtonCell`
/// to get a tinted button.
///
/// ### Specifier Parameters
///
///
/// | url | Required. The URL to open. |
///
///
/// | subtitle | Optional. A subtitle to display below the label. The default is an empty
/// string, hiding the subtitle. |
///
///
/// | initials | Optional. One or two characters to show as the icon. |
///
///
/// | iconURL | Optional. The URL to an image to display. The default is no value,
/// hiding the image. |
///
///
/// | iconCircular | Optional. Whether the icon should be displayed as a circle. The
/// default is NO when an iconURL is set, otherwise this property is unused. |
///
///
/// | iconCornerRadius | Optional. A custom corner radius to use for the icon. Ignored
/// if iconCircular is set to true. If set to -1, the operating system’s default icon corner radius
/// is used. The default is -1. |
///
///
///
/// ### Example Usage
/// ```xml
///
///
/// cellClass
/// HBLinkTableCell
/// icon
/// example.png
/// label
/// Example
/// url
/// http://example.com/
///
///
///
///
/// cellClass
/// HBLinkTableCell
/// initials
/// XX
/// label
/// Example
/// url
/// http://example.com/
///
///
///
///
/// cellClass
/// HBLinkTableCell
/// label
/// Example
/// subtitle
/// Visit our amazing website
/// url
/// http://example.com/
///
///
///
///
/// big
///
/// cellClass
/// HBLinkTableCell
/// height
/// 64
/// label
/// Example
/// subtitle
/// Visit our amazing website
/// url
/// http://example.com/
///
/// ```
@interface HBLinkTableCell : HBTintedTableCell
/// Whether the cell is 64 pixels or more in height.
///
/// This is not set automatically; the specifier for the cell must set the `big` property to true
/// (see examples above).
@property (nonatomic, readonly) BOOL isBig;
/// The view containing the icon image view.
@property (nonatomic, retain, readonly) UIView *iconView;
/// The icon image view.
@property (nonatomic, retain, readonly) UIImageView *iconImageView;
/// The image to display as the icon, if enabled.
@property (nonatomic, retain) UIImage *iconImage;
/// A URL to load into iconImage to display as the icon, if enabled.
@property (nonatomic, retain) NSURL *iconURL;
/// Whether the image displays as a circle.
///
/// The default is YES if an iconURL is set in the specifier, otherwise NO.
@property (nonatomic, readonly) BOOL isIconCircular;
/// Load and display the icon.
///
/// You don’t need to call this unless subclassing.
- (void)loadIconIfNeeded;
/// Handle failure to load the icon.
///
/// You don’t need to call this unless subclassing. The default implementation replaces the image
/// with the operating system’s generic “no icon” placeholder if `iconCornerRadius` is set to -1,
/// and `isIconCircular` is set to NO.
- (void)iconLoadDidFailWithResponse:(NSURLResponse *)response error:(NSError *)error;
@end