Opening a File
Opening a file opens it inside the Code Editor. The IDE can act as a simple text editor, and is not only targeted to edit .php files.
When a file is opened in the Code Editor, tabs appear at the bottom of the editor window so you can switch between code and design modes. The same happens for Data Modules and Templated Forms.
If a .php script is a page or data module with design information, it will have an associated .xml.php file with the same name and in the same folder. This file is required by the IDE.
Design files (.xml.php) files are not loaded at the same time a .php file is opened. The design files are loaded when the user switches to the Design tab, so loading files is faster.
Depending the ancestor of the class found in the .xml.php (Page/Datamodule), the IDE knows how to handle it and creates the right design surfaces.
A templated form, in addition to having an .xml.php, will have the TemplateEngine property set to "RPCLTemplate" and TemplateFilename property set to an existing file on disk, which will be used as the template.
When a file is opened, the modification time is stored to have something to compare when the IDE gets activated. If the modification time for an specific file is changed, then, the user is prompted to reload the file.
When a file is opened, if it has use_unit clauses, those get parsed and referenced files are opened. This is done to have a valid reference for the Object Inspector, when trying to assign properties to objects that reside in another form.
You can also use the list of last opened project and files, which is a menu option on File menu. This list is updated at the same time projects and files are opened. The last that was opened appears first on the list. Clicking on an entry will open the selected project/file.
The IDE also supports standard shell drag and drop handling to open files dropped directly from the explorer. The File Browse tool also starts drag operations, so the IDE supports it.