Upstream version 7.35.144.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / gtk / view_id_util.h
1 // Copyright (c) 2011 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_GTK_VIEW_ID_UTIL_H_
6 #define CHROME_BROWSER_UI_GTK_VIEW_ID_UTIL_H_
7
8 #include "chrome/browser/ui/view_ids.h"
9
10 typedef struct _GtkWidget GtkWidget;
11
12 class ViewIDUtil {
13  public:
14   // Use this delegate to override default view id searches.
15   class Delegate {
16    public:
17     virtual GtkWidget* GetWidgetForViewID(ViewID id) = 0;
18
19    protected:
20     virtual ~Delegate() {}
21   };
22
23   // If you set the ID via this function, it will also set the name of your
24   // widget to a human-readable value for debugging.
25   static void SetID(GtkWidget* widget, ViewID id);
26
27   static GtkWidget* GetWidget(GtkWidget* root, ViewID id);
28
29   static void SetDelegateForWidget(GtkWidget* widget, Delegate* delegate);
30 };
31
32 #endif  // CHROME_BROWSER_UI_GTK_VIEW_ID_UTIL_H_