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_SIMPLE_MESSAGE_BOX_H_ 6 #define CHROME_BROWSER_UI_SIMPLE_MESSAGE_BOX_H_ 7 8 #include "base/strings/string16.h" 9 #include "ui/gfx/native_widget_types.h" 10 11 namespace chrome { 12 13 enum MessageBoxResult { 14 MESSAGE_BOX_RESULT_NO = 0, // User chose NO or CANCEL. 15 MESSAGE_BOX_RESULT_YES = 1, // User chose YES or OK. 16 }; 17 18 enum MessageBoxType { 19 MESSAGE_BOX_TYPE_INFORMATION, // Shows an OK button. 20 MESSAGE_BOX_TYPE_WARNING, // Shows an OK button. 21 MESSAGE_BOX_TYPE_QUESTION, // Shows YES and NO buttons. 22 MESSAGE_BOX_TYPE_OK_CANCEL, // Shows OK and CANCEL buttons (Windows or aura 23 // only). 24 }; 25 26 // Shows a dialog box with the given |title| and |message|. If |parent| is 27 // non-NULL, the box will be made modal to the |parent|, except on Mac, where it 28 // is always app-modal. 29 // 30 // NOTE: In general, you should avoid this since it's usually poor UI. 31 // We have a variety of other surfaces such as wrench menu notifications and 32 // infobars; consult the UI leads for a recommendation. 33 MessageBoxResult ShowMessageBox(gfx::NativeWindow parent, 34 const base::string16& title, 35 const base::string16& message, 36 MessageBoxType type); 37 38 // Shows a dialog box with the given |title| and |message|, and with two buttons 39 // labeled with |yes_text| and |no_text|. If |parent| is non-NULL, the box will 40 // be made modal to the |parent|. (Aura only.) 41 // 42 // NOTE: In general, you should avoid this since it's usually poor UI. 43 // We have a variety of other surfaces such as wrench menu notifications and 44 // infobars; consult the UI leads for a recommendation. 45 MessageBoxResult ShowMessageBoxWithButtonText(gfx::NativeWindow parent, 46 const base::string16& title, 47 const base::string16& message, 48 const base::string16& yes_text, 49 const base::string16& no_text); 50 51 } // namespace chrome 52 53 #endif // CHROME_BROWSER_UI_SIMPLE_MESSAGE_BOX_H_ 54