javascript_app_modal_dialog_views.h revision a36e5920737c6adbddd3e43b760e5de8431db6e0
1// Copyright (c) 2012 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_VIEWS_JAVASCRIPT_APP_MODAL_DIALOG_VIEWS_H_ 6#define CHROME_BROWSER_UI_VIEWS_JAVASCRIPT_APP_MODAL_DIALOG_VIEWS_H_ 7 8#include "base/memory/scoped_ptr.h" 9#include "chrome/browser/ui/app_modal_dialogs/native_app_modal_dialog.h" 10#include "ui/views/window/dialog_delegate.h" 11 12class JavaScriptAppModalDialog; 13 14namespace views { 15class MessageBoxView; 16} 17 18class JavaScriptAppModalDialogViews : public NativeAppModalDialog, 19 public views::DialogDelegate { 20 public: 21 explicit JavaScriptAppModalDialogViews(JavaScriptAppModalDialog* parent); 22 virtual ~JavaScriptAppModalDialogViews(); 23 24 // Overridden from NativeAppModalDialog: 25 virtual int GetAppModalDialogButtons() const OVERRIDE; 26 virtual void ShowAppModalDialog() OVERRIDE; 27 virtual void ActivateAppModalDialog() OVERRIDE; 28 virtual void CloseAppModalDialog() OVERRIDE; 29 virtual void AcceptAppModalDialog() OVERRIDE; 30 virtual void CancelAppModalDialog() OVERRIDE; 31 32 // Overridden from views::DialogDelegate: 33 virtual int GetDefaultDialogButton() const OVERRIDE; 34 virtual int GetDialogButtons() const OVERRIDE; 35 virtual string16 GetWindowTitle() const OVERRIDE; 36 virtual void WindowClosing() OVERRIDE; 37 virtual void DeleteDelegate() OVERRIDE; 38 virtual bool Cancel() OVERRIDE; 39 virtual bool Accept() OVERRIDE; 40 virtual string16 GetDialogButtonLabel(ui::DialogButton button) const OVERRIDE; 41 42 // Overridden from views::WidgetDelegate: 43 virtual ui::ModalType GetModalType() const OVERRIDE; 44 virtual views::View* GetContentsView() OVERRIDE; 45 virtual views::View* GetInitiallyFocusedView() OVERRIDE; 46 virtual void OnClosed() OVERRIDE; 47 virtual views::Widget* GetWidget() OVERRIDE; 48 virtual const views::Widget* GetWidget() const OVERRIDE; 49 50 private: 51 // A pointer to the AppModalDialog that owns us. 52 scoped_ptr<JavaScriptAppModalDialog> parent_; 53 54 // The message box view whose commands we handle. 55 views::MessageBoxView* message_box_view_; 56 57 DISALLOW_COPY_AND_ASSIGN(JavaScriptAppModalDialogViews); 58}; 59 60#endif // CHROME_BROWSER_UI_VIEWS_JAVASCRIPT_APP_MODAL_DIALOG_VIEWS_H_ 61