Home | History | Annotate | Download | only in gtk
      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_
     33