Home | History | Annotate | Download | only in toolbar
      1 // Copyright (c) 2011 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_TOOLBAR_BACK_FORWARD_MENU_CONTROLLER_H_
      6 #define CHROME_BROWSER_UI_COCOA_TOOLBAR_BACK_FORWARD_MENU_CONTROLLER_H_
      7 #pragma once
      8 
      9 #import <Cocoa/Cocoa.h>
     10 
     11 #include "base/memory/scoped_nsobject.h"
     12 #include "base/memory/scoped_ptr.h"
     13 #include "chrome/browser/ui/toolbar/back_forward_menu_model.h"
     14 
     15 @class MenuButton;
     16 
     17 typedef BackForwardMenuModel::ModelType BackForwardMenuType;
     18 const BackForwardMenuType BACK_FORWARD_MENU_TYPE_BACK =
     19     BackForwardMenuModel::BACKWARD_MENU;
     20 const BackForwardMenuType BACK_FORWARD_MENU_TYPE_FORWARD =
     21     BackForwardMenuModel::FORWARD_MENU;
     22 
     23 // A class that manages the back/forward menu (and delayed-menu button, and
     24 // model).
     25 
     26 @interface BackForwardMenuController : NSObject {
     27  @private
     28   BackForwardMenuType type_;
     29   MenuButton* button_;  // Weak; comes from nib.
     30   scoped_ptr<BackForwardMenuModel> model_;
     31   scoped_nsobject<NSMenu> backForwardMenu_;
     32 }
     33 
     34 // Type (back or forwards); can only be set on initialization.
     35 @property(readonly, nonatomic) BackForwardMenuType type;
     36 
     37 - (id)initWithBrowser:(Browser*)browser
     38             modelType:(BackForwardMenuType)type
     39                button:(MenuButton*)button;
     40 
     41 @end  // @interface BackForwardMenuController
     42 
     43 #endif  // CHROME_BROWSER_UI_COCOA_TOOLBAR_BACK_FORWARD_MENU_CONTROLLER_H_
     44