deferred class interface FILE_DIALOG
feature(s) from STANDARD_DIALOG
   --  Execution
   has_selection: BOOLEAN
      --  Has last dialog produced a valid file name.
   execute
      --  Display the file open dialog.
      require
         repaint_parent:  --  not parent.device.is_ready
      ensure
         done:  --  has_selection set
feature(s) from FILE_DIALOG
   --  Setup
   set_title (str: STRING)
      --  Set dialog title.
      --  Default: provided by operating system.
      require
         valid: str /= Void
   set_directory (str: STRING)
      --  Set inital directory.
      --  Default: current directory.
      require
         valid: str /= Void
   set_file (str: STRING)
      --  Set inital filename.
      --  Default: none.
      require
         valid: str /= Void
   add_filter (name, pattern: STRING)
      --  Add a file type filter with descriptive name and 
      --  file type pattern. (eg: "Text files", "*.txt;*.doc").
      --  The first added filter is the default one.
      require
         valid: name /= Void and pattern /= Void
   reset_filters
      --  Reset file type filters.
feature(s) from FILE_DIALOG
   --  Result
   last_file_name: STRING
      --  Last selected file name.
      require
         has_select: has_selection
      ensure
         valid: Result /= Void
end of deferred FILE_DIALOG