Your implementation should allow the user to select a file, or if your are implementing a web-based application, you may allow him to upload a file.
After the file is read, the IAdeUICallbacks::FileOpenCompleted() is called. If your application has uploaded a file to a temporary location, you can safely delete the temporary file here.
The method is not called if the dialog is unnecessary.
The callback is displayed only when it is necessary to get filename info from the user. In general, if the filename provided to the function exists, and «ForceDialog» is not explicitly true, then ADE will read the file without prompting the user, and hence, the callback is never called. An exception, however, is for SpreadsheetSave, in which the callback is always called. Your implementation can view the «flags» to see whether the dialog was forced or not, and you can view the «defaultName» to see whether the filename was specified. You should never show a dialog when the 2 bit of «flags» is set.
- «function»: the identifier of the built-in function that is requesting the filename. E.g., "SpreadsheetOpen", "ReadTextFile", "ReadImageFile", or "ReadExportFile".
- «directory»: The current directory.
- «extensions»: A list of file extensions to filter for. When there is more that one possible extension, they are separated by a double bar, "||". Each extension has two parts, separated by a single bar, "|". The first part is a list of wild cards such as "*.txt;*.dat", each wildcard separated by semi-colons. The second part is a user-friendly description of the extension. For example, SpreadsheetOpen may provide the following filter:
"*.xl*;*.csv|Excel Files (*.xl*;*.csv)||*.*|All Files (*.*)"
- «caption»: The recommended title or caption text for a file open dialog.
- «callingIdent»: A CAObject pointer to the user-object in the model that is calling the build-in function.
- «flags»: A bit field, with these bits:
The full file path to the file selected or uploaded.