star_view.h revision ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16
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_VIEWS_LOCATION_BAR_STAR_VIEW_H_ 6#define CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_STAR_VIEW_H_ 7 8#include "ui/views/controls/image_view.h" 9 10class CommandUpdater; 11 12class StarView : public views::ImageView { 13 public: 14 explicit StarView(CommandUpdater* command_updater); 15 virtual ~StarView(); 16 17 // Toggles the star on or off. 18 void SetToggled(bool on); 19 20 private: 21 // views::ImageView: 22 virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; 23 virtual bool GetTooltipText(const gfx::Point& p, 24 string16* tooltip) const OVERRIDE; 25 virtual bool OnMousePressed(const ui::MouseEvent& event) OVERRIDE; 26 virtual void OnMouseReleased(const ui::MouseEvent& event) OVERRIDE; 27 virtual bool OnKeyPressed(const ui::KeyEvent& event) OVERRIDE; 28 29 // ui::EventHandler: 30 virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; 31 32 // The CommandUpdater for the Browser object that owns the location bar. 33 CommandUpdater* command_updater_; 34 35 // This is used to check if the bookmark bubble was showing during the mouse 36 // pressed event. If this is true then the mouse released event is ignored to 37 // prevent the bubble from reshowing. 38 bool suppress_mouse_released_action_; 39 40 DISALLOW_COPY_AND_ASSIGN(StarView); 41}; 42 43#endif // CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_STAR_VIEW_H_ 44