class interface FILE_OPEN_DIALOG creation make (p: OVERLAPPED_WINDOW) -- Create dialog. require valid: p /= Void ensure keep_reference: -- of p. 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 FILE_OPEN_DIALOG