• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef CHROME_BROWSER_UI_COCOA_AUTOFILL_LAYOUT_VIEW_H_
6 #define CHROME_BROWSER_UI_COCOA_AUTOFILL_LAYOUT_VIEW_H_
7 
8 #import <Cocoa/Cocoa.h>
9 
10 #include "base/memory/scoped_ptr.h"
11 
12 class SimpleGridLayout;
13 
14 // A view that carries its own layout manager. Re-layouts on setFrame:.
15 @interface LayoutView : NSView {
16  @private
17   scoped_ptr<SimpleGridLayout> layout_;
18 }
19 
20 // Sets a layout manager and takes ownership of it.
21 - (void)setLayoutManager:(scoped_ptr<SimpleGridLayout>)layout;
22 
23 // Return a pointer to layout manager, still owned by the view.
24 - (SimpleGridLayout*)layoutManager;
25 
26 // Re-layout subviews according to layout manager.
27 - (void)performLayout;
28 
29 // Query the layout manager for the best height for specified |width|.
30 - (CGFloat)preferredHeightForWidth:(CGFloat)width;
31 
32 @end
33 
34 #endif  // CHROME_BROWSER_UI_COCOA_AUTOFILL_LAYOUT_VIEW_H_
35