blob: 4736c5c60cb011be4a961ca08fe09efbf3a0779c [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_CELLS_SETTINGS_SWITCH_ITEM_H_
#define IOS_CHROME_BROWSER_UI_SETTINGS_CELLS_SETTINGS_SWITCH_ITEM_H_
#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
#import "ios/third_party/material_components_ios/src/components/CollectionCells/src/MaterialCollectionCells.h"
// SettingsSwitchItem is a model class that uses
// SettingsSwitchCell.
@interface SettingsSwitchItem : CollectionViewItem
// The text to display.
@property(nonatomic, copy) NSString* text;
// The current state of the switch.
@property(nonatomic, assign, getter=isOn) BOOL on;
// Whether or not the switch is enabled. Disabled switches are automatically
// drawn as in the "off" state, with dimmed text.
@property(nonatomic, assign, getter=isEnabled) BOOL enabled;
@end
// SettingsSwitchCell implements a UICollectionViewCell subclass
// containing an icon, a text label, and a switch.
@interface SettingsSwitchCell : MDCCollectionViewCell
// UILabel corresponding to |text| from the item.
@property(nonatomic, readonly, strong) UILabel* textLabel;
// The switch view.
@property(nonatomic, readonly, strong) UISwitch* switchView;
// Returns the default text color used for the given |state|.
+ (UIColor*)defaultTextColorForState:(UIControlState)state;
@end
#endif // IOS_CHROME_BROWSER_UI_SETTINGS_CELLS_SETTINGS_SWITCH_ITEM_H_