Home | History | Annotate | Download | only in tabs
      1 // Copyright (c) 2012 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_TABS_TAB_CONTROLLER_TARGET_H_
      6 #define CHROME_BROWSER_UI_COCOA_TABS_TAB_CONTROLLER_TARGET_H_
      7 
      8 #include "chrome/browser/ui/tabs/tab_menu_model.h"
      9 #include "chrome/browser/ui/tabs/tab_strip_model.h"
     10 
     11 @class TabController;
     12 @protocol TabDraggingEventTarget;
     13 
     14 // A protocol to be implemented by a TabController's target.
     15 @protocol TabControllerTarget
     16 - (void)selectTab:(id)sender;
     17 - (void)closeTab:(id)sender;
     18 
     19 // Dispatch context menu commands for the given tab controller.
     20 - (void)commandDispatch:(TabStripModel::ContextMenuCommand)command
     21           forController:(TabController*)controller;
     22 // Returns YES if the specificed command should be enabled for the given
     23 // controller.
     24 - (BOOL)isCommandEnabled:(TabStripModel::ContextMenuCommand)command
     25            forController:(TabController*)controller;
     26 
     27 // Returns a context menu model for a given controller. Caller owns the result.
     28 - (ui::SimpleMenuModel*)contextMenuModelForController:(TabController*)controller
     29     menuDelegate:(ui::SimpleMenuModel::Delegate*)delegate;
     30 
     31 // Returns a weak reference to the controller that manages dragging of tabs.
     32 - (id<TabDraggingEventTarget>)dragController;
     33 
     34 @end
     35 
     36 #endif  // CHROME_BROWSER_UI_COCOA_TABS_TAB_CONTROLLER_TARGET_H_
     37