Home | History | Annotate | Download | only in models
      1 // Copyright (c) 2013 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 UI_BASE_MODELS_DIALOG_MODEL_H_
      6 #define UI_BASE_MODELS_DIALOG_MODEL_H_
      7 
      8 #include "base/strings/string16.h"
      9 #include "ui/base/ui_base_export.h"
     10 #include "ui/base/ui_base_types.h"
     11 
     12 namespace ui {
     13 
     14 // A model representing a dialog window. The model provides the content to show
     15 // to the user (i.e. label, title), and the ways the user can interact with it
     16 // (i.e. the buttons).
     17 class UI_BASE_EXPORT DialogModel {
     18  public:
     19   virtual ~DialogModel();
     20 
     21   // Returns the text of show in the dialog.
     22   virtual base::string16 GetDialogLabel() const = 0;
     23 
     24   // Returns the title of the dialog.
     25   virtual base::string16 GetDialogTitle() const = 0;
     26 
     27   // Returns a mask specifying which of the available DialogButtons are visible
     28   // for the dialog. Note: Dialogs with just an OK button are frowned upon.
     29   virtual int GetDialogButtons() const = 0;
     30 
     31   // Returns the default dialog button. This should not be a mask as only
     32   // one button should ever be the default button.  Return
     33   // ui::DIALOG_BUTTON_NONE if there is no default.  Default
     34   // behavior is to return ui::DIALOG_BUTTON_OK or
     35   // ui::DIALOG_BUTTON_CANCEL (in that order) if they are
     36   // present, ui::DIALOG_BUTTON_NONE otherwise.
     37   virtual int GetDefaultDialogButton() const = 0;
     38 
     39   // Returns whether the default dialog button should be colored blue as a call
     40   // to action.
     41   virtual bool ShouldDefaultButtonBeBlue() const = 0;
     42 
     43   // Returns the label of the specified dialog button.
     44   virtual base::string16 GetDialogButtonLabel(DialogButton button) const = 0;
     45 
     46   // Returns whether the specified dialog button is enabled.
     47   virtual bool IsDialogButtonEnabled(DialogButton button) const = 0;
     48 };
     49 
     50 }  // namespace ui
     51 
     52 #endif  // UI_BASE_MODELS_DIALOG_MODEL_H_
     53