1 / 11

The Voltron.GUI API

The Voltron.GUI API. With a short description of Voltron.Controller. Overview of the GUI API. We have three main categories of interface Classes implemented by the UI for use by the controller or model Classes containing data the UI will need or representing data objects in the world

pier
Télécharger la présentation

The Voltron.GUI API

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Voltron.GUI API With a short description of Voltron.Controller

  2. Overview of the GUI API • We have three main categories of interface • Classes implemented by the UI for use by the controller or model • Classes containing data the UI will need or representing data objects in the world • Adapters that allow the UI to notify the model when the user performs an action

  3. Internal Class API • IView • Represents the GUI as a whole. • Should be notified whenever a node is directly connected or disconnected, and updated the status of jobs • Implemented by MainForm.cs, the main GUI class, but could be moved out into a separate class if the code gets too large

  4. Login/Authentication API • GetLogin class • Allows the controller to request login information from the view • LoginInfo class • Contains two string fields for the username and password • Essentially a structure so GetLogin can return a pair of strings

  5. Data Representation API • IComputer • Represents a single computer on the grid • Has methods for getting resource info, location, and name • ILocation • Contained by a given IComputer • Represents a location of the computer in the world

  6. Adapters API • INetworkAdapter • Allows the computer to interact with the grid as a network • Currently allows view to walk network • IConnectionAdapter • Manages the view’s notion of connections • Currently allows the view to make or break direct connections to remote hosts

  7. Adapters API (2) • IFileSystemAdapter • Encapsulates the notion of getting files from or giving files to any provider • Can get, delete, and put files into the abstract file system by a string filename • IFlatFileSystemAdapter • Adds the ability to list all of the files in the file system, since it lacks hierarchy

  8. UML Diagram of the GUI MainForm IView LoginDialog IFileSytstemAdapter IFlatFileSytstemAdapter IConnectionAdapter ILocation IComputer LoginInfo GetLogin INetworkAdapter

  9. Story – Running a Process The user would like to run one of the processes that is shown graphically in the view of the file system. The user single-clicks on the file they want to run, and then drags it onto the view of the grid (the blob). The file is then run by the grid, and its status is shown on the process panel, which tells the user which computer this process is being run on, and its status (running/done).

  10. Story – Direct Connection A user would like to directly connect to one of the computers in the grid. To do this, the user right-clicks on one of the entries on the processes panel. They then select on the right-click menu to directly connect to the computer that process was run on in the grid. If a direct connection has not already been established with this computer, a connection is established, and the computer that was connected to is displayed in the directly connected panel.

  11. Controller Overview • Basic idea – implement classes the subprojects need and pass around information between model and view • Contains implementations of UI adapters • Encapsulate startup code for running the entire program

More Related