172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// Use of this source code is governed by a BSD-style license that can be 3731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// found in the LICENSE file. 4731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#ifndef CHROME_BROWSER_UI_GTK_INFO_BUBBLE_ACCELERATORS_GTK_H_ 672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#define CHROME_BROWSER_UI_GTK_INFO_BUBBLE_ACCELERATORS_GTK_H_ 7731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#pragma once 8731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 9731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include <gdk/gdktypes.h> 10731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include <glib.h> 11731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include <vector> 12731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 13731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include "base/basictypes.h" 14731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 15731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickstruct InfoBubbleAcceleratorGtk { 16731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick guint keyval; 17731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick GdkModifierType modifier_type; 18731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick}; 19731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 20731df977c0511bca2206b5f333555b1205ff1f43Iain Merricktypedef std::vector<struct InfoBubbleAcceleratorGtk> 21731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick InfoBubbleAcceleratorGtkList; 22731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 23731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// This class contains a list of accelerators that an InfoBubbleGtk 24731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// is expected to either catch and respond to or catch and forward to the 25731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// root browser window. This list is expected to be a subset of the 26731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// accelerators that are handled by the root browser window, but the 27731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// specific accelerators to be handled has not yet been fully specified. The 28731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// common use case for this class has code that uses it needing the entire 29731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// list and not needing extra processing, so the only get method gives you the 30731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// entire list. 31731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickclass InfoBubbleAcceleratorsGtk { 32731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick public: 33731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick static InfoBubbleAcceleratorGtkList GetList(); 34731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 35731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick private: 36731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick DISALLOW_IMPLICIT_CONSTRUCTORS(InfoBubbleAcceleratorsGtk); 37731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick}; 38731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 3972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#endif // CHROME_BROWSER_UI_GTK_INFO_BUBBLE_ACCELERATORS_GTK_H_ 40