class interface MESSAGE_BOX

creation
   make (par: OVERLAPPED_WINDOW)
      --  Create.

      require
         valid: par /= Void
      ensure
         keep_reference:  --  of p.

feature(s) from STANDARD_DIALOG
   --  Execution

   has_selection: BOOLEAN
      --  Has the dialog been executed?


   execute
      --  Display the message box.

      require
         repaint_parent:  --  not parent.device.is_ready
      ensure
         done:  --  has_selection set

feature(s) from MESSAGE_BOX
   --  Icon

   set_icon_information
      --  Dialog's icon is the letter i in a circle.


feature(s) from MESSAGE_BOX
   --  Icon

   reset_icon
      --  Dialog's icon is the letter i in a circle.


   set_icon_exclamation
      --  Dialog's icon is an exclamation point.


   set_icon_question
      --  Dialog's icon is a question mark.


   set_icon_stop
      --  Dialog's icon is an icon stop.


feature(s) from MESSAGE_BOX
   --  Text

   set_title (str: STRING)
      --  Set dialog's title.

      require
         valid: str /= Void
      ensure
         done: title.is_equal(str)

   set_text (str: STRING)
      --  Set dialog's text.

      require
         valid: str /= Void
      ensure
         done: text.is_equal(str)

feature(s) from MESSAGE_BOX
   --  Buttons (labels use national language).

   set_buttons_yes_no
      --  Dialog has 'Yes' and 'No' buttons.


   set_buttons_yes_no_cancel
      --  Dialog has 'Yes' and 'No' and 'Cancel' buttons.


   set_buttons_ok
      --  Dialog has 'OK' button.


   reset_buttons
      --  Dialog has 'OK' button.


   set_buttons_ok_cancel
      --  Dialog has 'OK' and 'Cancel' buttons.


   set_buttons_retry_cancel
      --  Dialog has 'Retry' and 'Cancel' buttons.


   set_buttons_abort_retry_ignore
      --  Dialog has 'Abort' and 'Retry' and 'Ignore' buttons.


feature(s) from MESSAGE_BOX
   --  User answer

   is_yes: BOOLEAN
      --  User answered 'Yes' or 'OK' or 'Retry'.

      require
         done: has_selection

   is_no: BOOLEAN
      --  User answered 'No' or 'Ignore'.

      require
         done: has_selection

   is_cancel: BOOLEAN
      --  User answered 'Cancel' or 'Abort'.

      require
         done: has_selection


end of MESSAGE_BOX