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 15 class 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. 22 class 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