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 UI_VIEWS_CONTROLS_COMBOBOX_COMBOBOX_LISTENER_H_
6#define UI_VIEWS_CONTROLS_COMBOBOX_COMBOBOX_LISTENER_H_
7
8#include "ui/views/views_export.h"
9
10namespace views {
11
12class Combobox;
13
14// Interface used to notify consumers when something interesting happens to a
15// Combobox.
16class VIEWS_EXPORT ComboboxListener {
17 public:
18  // Invoked when the user does the appropriate gesture that some action should
19  // be performed. For both STYLE_NORMAL and STYLE_ACTION this is invoked if the
20  // user clicks on the menu button and then clicks an item. For STYLE_NORMAL
21  // this is also invoked when the menu is not showing and the does a gesture to
22  // change the selection (for example, presses the home or end keys). This is
23  // not invoked when the menu is shown and the user changes the selection
24  // without closing the menu.
25  virtual void OnPerformAction(Combobox* combobox) = 0;
26
27 protected:
28  virtual ~ComboboxListener() {}
29};
30
31}  // namespace views
32
33#endif  // UI_VIEWS_CONTROLS_COMBOBOX_COMBOBOX_LISTENER_H_
34