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_REPOST_FORM_WARNING_GTK_H_ 6#define CHROME_BROWSER_UI_GTK_REPOST_FORM_WARNING_GTK_H_ 7#pragma once 8 9#include <gtk/gtk.h> 10 11#include "base/memory/scoped_ptr.h" 12#include "chrome/browser/ui/gtk/constrained_window_gtk.h" 13#include "ui/base/gtk/gtk_signal.h" 14 15class RepostFormWarningController; 16 17// Displays a dialog that warns the user that they are about to resubmit 18// a form. 19// To display the dialog, allocate this object on the heap. It will open the 20// dialog from its constructor and then delete itself when the user dismisses 21// the dialog. 22class RepostFormWarningGtk : public ConstrainedDialogDelegate { 23 public: 24 RepostFormWarningGtk(GtkWindow* parent, TabContents* tab_contents); 25 26 // ConstrainedDialogDelegate methods 27 virtual GtkWidget* GetWidgetRoot(); 28 virtual GtkWidget* GetFocusWidget(); 29 virtual void DeleteDelegate(); 30 31 private: 32 virtual ~RepostFormWarningGtk(); 33 34 // Callbacks 35 CHROMEGTK_CALLBACK_0(RepostFormWarningGtk, void, OnRefresh); 36 CHROMEGTK_CALLBACK_0(RepostFormWarningGtk, void, OnCancel); 37 38 scoped_ptr<RepostFormWarningController> controller_; 39 40 GtkWidget* dialog_; 41 GtkWidget* ok_; 42 GtkWidget* cancel_; 43 44 DISALLOW_COPY_AND_ASSIGN(RepostFormWarningGtk); 45}; 46 47#endif // CHROME_BROWSER_UI_GTK_REPOST_FORM_WARNING_GTK_H_ 48