blob: f16dd6635fa64435bd8427e2abd4f9c627c660ab [file] [log] [blame]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_BROWSER_TOOLBAR_UI_BUNDLED_SECONDARY_TOOLBAR_VIEW_H_
#define IOS_CHROME_BROWSER_TOOLBAR_UI_BUNDLED_SECONDARY_TOOLBAR_VIEW_H_
#import <UIKit/UIKit.h>
#import "ios/chrome/browser/toolbar/ui_bundled/adaptive_toolbar_view.h"
@class ToolbarButtonFactory;
// View for the secondary part of the adaptive toolbar. It is the part
// containing the controls displayed only on specific size classes.
@interface SecondaryToolbarView : UIView <AdaptiveToolbarView>
// StackView containing the navigation buttons from `ToolbarButtons`.
@property(nonatomic, strong, readonly) UIStackView* buttonStackView;
// Separator below the location bar. Used when collapsed above the keyboard.
@property(nonatomic, strong, readonly) UIView* bottomSeparator;
// Constraint for the top of the location bar.
@property(nonatomic, strong) NSLayoutConstraint* locationBarTopConstraint;
// Constraint for the bottom of the location bar. Used to move the location bar
// above the keyboard.
@property(nonatomic, strong) NSLayoutConstraint* locationBarKeyboardConstraint;
// Whether this toolbar is used and positioned like the primary toolbar.
// TODO(crbug.com/429955447): Remove when diamond prototype is cleaned.
@property(nonatomic, assign) BOOL usedAsPrimaryToolbar;
// Initialize this View with the button `factory`.
- (instancetype)initWithButtonFactory:(ToolbarButtonFactory*)factory
NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithFrame:(CGRect)frame NS_UNAVAILABLE;
- (instancetype)initWithCoder:(NSCoder*)aDecoder NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE;
// Makes the toolbar translucent.
- (void)makeTranslucent;
// Makes the toolbar opaque.
- (void)makeOpaque;
@end
#endif // IOS_CHROME_BROWSER_TOOLBAR_UI_BUNDLED_SECONDARY_TOOLBAR_VIEW_H_