File Menu
The file menu has an inconsistency that needs to be addressed. 'Open' and 'Save' relate to files, but 'New' relates to the entire state. In our last meeting, we got hung up on the 'New' issue. The following is a proposal to clarify the file menu.
File Menu Proposal
The current file menu's 'New' functionality should be grouped with save and load state. The name and keyboard shortcut should be changed. It would be nice to use 'project' in the name change. This would be similar to Prism's nomenclature. This may be a drastic change for current paraview users who are used to saving and loading a 'state' file. This brings up issues with where the state file is saved and what it contains. The paraq demo stored the server information as well as the server state. This is probably a bigger discussion that warrants its own page. The 'New' item can at least be renamed to 'Clear State'.
We should change the file menu's 'New' to a pipeline object oriented action like 'Open' and 'Save'. It would behave like ctrl+n in visual studio or 'New' in microsoft word. A dialog would pop up displaying the choices of pipeline objects to create including: server, source, filter, and custom filter. The dialog would need to work with the proposed pipeline menu dialogs. After the user selects an item, the appropriate pipeline dialog would pop up. If the user selected a filter, the add filter dialog would pop up, allowing them to select which filter they want to make. This change doesn't make sense without the pipeline menu. The only mechanism we currently have to select a source or filter is another menu.
I added server to the list of objects to create. This will allow us to make a distinction between getting rid of a server and disconnecting a server for future reconnect. The server actions would be: new/delete and reconnect/disconnect. Having the functionality exposed this way would allow the user to indicate what they want to do without being assaulted with dialog options. This would also fit more comfortably if we move from a single server state file to a 'project' file that can have multiple servers.