blob: 4918861fff8a8c737724eaa839542003b6ba471c [file] [log] [blame]
[email protected]5c61cc92012-04-23 02:00:391// Copyright (c) 2012 The Chromium Authors. All rights reserved.
[email protected]80772ed2011-08-09 21:11:382// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
[email protected]b50892c5f2012-05-13 07:34:145#ifndef CHROME_BROWSER_UI_SIMPLE_MESSAGE_BOX_H_
6#define CHROME_BROWSER_UI_SIMPLE_MESSAGE_BOX_H_
[email protected]80772ed2011-08-09 21:11:387
[email protected]f92d65882013-06-10 22:02:368#include "base/strings/string16.h"
[email protected]80772ed2011-08-09 21:11:389#include "ui/gfx/native_widget_types.h"
10
[email protected]d33220292012-07-04 01:41:2711namespace chrome {
[email protected]80772ed2011-08-09 21:11:3812
[email protected]5da155e2012-05-26 16:31:1613enum MessageBoxResult {
afakhry7c9abe72016-08-05 17:33:1914 // User chose NO or CANCEL. If there's a checkbox, then the checkbox was
15 // unchecked.
16 MESSAGE_BOX_RESULT_NO = 0,
17
18 // User chose YES or OK. If there's a checkbox, then the checkbox was checked.
19 MESSAGE_BOX_RESULT_YES = 1,
[email protected]5da155e2012-05-26 16:31:1620};
21
[email protected]d1f48ef52012-05-13 19:34:2122enum MessageBoxType {
[email protected]f8ef7162013-11-22 01:56:4123 MESSAGE_BOX_TYPE_WARNING, // Shows an OK button.
24 MESSAGE_BOX_TYPE_QUESTION, // Shows YES and NO buttons.
[email protected]d1f48ef52012-05-13 19:34:2125};
26
[email protected]5da155e2012-05-26 16:31:1627// Shows a dialog box with the given |title| and |message|. If |parent| is
28// non-NULL, the box will be made modal to the |parent|, except on Mac, where it
[email protected]24ced7dc02013-04-04 08:32:3929// is always app-modal.
[email protected]5da155e2012-05-26 16:31:1630//
31// NOTE: In general, you should avoid this since it's usually poor UI.
tfarina917cff5e2015-10-31 01:16:3832// We have a variety of other surfaces such as app menu notifications and
[email protected]5da155e2012-05-26 16:31:1633// infobars; consult the UI leads for a recommendation.
estadee16f96ed2016-03-07 22:57:0534void ShowWarningMessageBox(gfx::NativeWindow parent,
35 const base::string16& title,
36 const base::string16& message);
37
afakhry7c9abe72016-08-05 17:33:1938// As above, but with a checkbox. Returns true if the checkbox was checked when
39// the dialog was dismissed, false otherwise.
40bool ShowWarningMessageBoxWithCheckbox(gfx::NativeWindow parent,
41 const base::string16& title,
42 const base::string16& message,
43 const base::string16& checkbox_text);
44
estadee16f96ed2016-03-07 22:57:0545// As above, but two buttons are displayed and the return value indicates which
46// is chosen.
47MessageBoxResult ShowQuestionMessageBox(gfx::NativeWindow parent,
48 const base::string16& title,
49 const base::string16& message);
[email protected]80772ed2011-08-09 21:11:3850
[email protected]f8ef7162013-11-22 01:56:4151// Shows a dialog box with the given |title| and |message|, and with two buttons
52// labeled with |yes_text| and |no_text|. If |parent| is non-NULL, the box will
53// be made modal to the |parent|. (Aura only.)
54//
55// NOTE: In general, you should avoid this since it's usually poor UI.
tfarina917cff5e2015-10-31 01:16:3856// We have a variety of other surfaces such as app menu notifications and
[email protected]f8ef7162013-11-22 01:56:4157// infobars; consult the UI leads for a recommendation.
58MessageBoxResult ShowMessageBoxWithButtonText(gfx::NativeWindow parent,
[email protected]dcd0249872013-12-06 23:58:4559 const base::string16& title,
60 const base::string16& message,
61 const base::string16& yes_text,
62 const base::string16& no_text);
[email protected]f8ef7162013-11-22 01:56:4163
[email protected]d33220292012-07-04 01:41:2764} // namespace chrome
[email protected]80772ed2011-08-09 21:11:3865
[email protected]b50892c5f2012-05-13 07:34:1466#endif // CHROME_BROWSER_UI_SIMPLE_MESSAGE_BOX_H_