| OLD | NEW |
| (Empty) |
| 1 // Copyright 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 ASH_FRAME_CAPTION_BUTTONS_BUBBLE_CONTENTS_BUTTON_ROW_H_ | |
| 6 #define ASH_FRAME_CAPTION_BUTTONS_BUBBLE_CONTENTS_BUTTON_ROW_H_ | |
| 7 | |
| 8 #include "ash/wm/workspace/snap_types.h" | |
| 9 #include "ui/views/controls/button/button.h" | |
| 10 | |
| 11 namespace views { | |
| 12 class CustomButton; | |
| 13 } | |
| 14 | |
| 15 namespace ash { | |
| 16 | |
| 17 class BubbleDialogButton; | |
| 18 class MaximizeBubbleControllerBubble; | |
| 19 | |
| 20 // A class that creates all buttons and puts them into a view. | |
| 21 class BubbleContentsButtonRow : public views::View, | |
| 22 public views::ButtonListener { | |
| 23 public: | |
| 24 explicit BubbleContentsButtonRow(MaximizeBubbleControllerBubble* bubble); | |
| 25 virtual ~BubbleContentsButtonRow(); | |
| 26 | |
| 27 // views::ButtonListener: | |
| 28 virtual void ButtonPressed(views::Button* sender, | |
| 29 const ui::Event& event) OVERRIDE; | |
| 30 | |
| 31 // Called from BubbleDialogButton. | |
| 32 void ButtonHovered(BubbleDialogButton* sender); | |
| 33 | |
| 34 // Added for unit test: Retrieve the button for an action. | |
| 35 // |state| can be either SNAP_LEFT, SNAP_RIGHT or SNAP_MINIMIZE. | |
| 36 views::CustomButton* GetButtonForUnitTest(SnapType state); | |
| 37 | |
| 38 MaximizeBubbleControllerBubble* bubble() { return bubble_; } | |
| 39 | |
| 40 private: | |
| 41 // Functions to add the left and right maximize / restore buttons. | |
| 42 void AddMaximizeLeftButton(); | |
| 43 void AddMaximizeRightButton(); | |
| 44 void AddMinimizeButton(); | |
| 45 | |
| 46 // The owning object which gets notifications. | |
| 47 MaximizeBubbleControllerBubble* bubble_; | |
| 48 | |
| 49 // The created buttons for our menu. | |
| 50 BubbleDialogButton* left_button_; | |
| 51 BubbleDialogButton* minimize_button_; | |
| 52 BubbleDialogButton* right_button_; | |
| 53 | |
| 54 DISALLOW_COPY_AND_ASSIGN(BubbleContentsButtonRow); | |
| 55 }; | |
| 56 | |
| 57 } // namespace ash | |
| 58 | |
| 59 #endif // ASH_FRAME_CAPTION_BUTTONS_BUBBLE_CONTENTS_BUTTON_ROW_H_ | |
| OLD | NEW |