File Viewer DESIGN DOCUMENT COMPONENT: class FileViewer A simple file viewer. See program specification for details. Public method: o void run() Runs the viewer. Implementation note: Holds the lines of text in a Buffer object. The displaying of the buffer contents and the execution of the commands is delegated to the Buffer object. Collaborator: Buffer. COMPONENT: class Buffer A buffer for a simple file viewer. Holds the lines of text and executes commands on them. Displays the contents of the buffer. See program specification for details on commands. Public methods: o Buffer() Creates an empty buffer. o void display() const Displays the lines of text that the user is currently viewing. o const string & file_name() const Returns the name of the file. Returns an empty string if no file is open. o void move_to_next_page() void move_to_previous_page() bool open(const string & file_name) Executes the corresponding file viewer command on the buffer. See program specification for details. The method open returns true if successful. o void set_window_height(int h) Self-explanatory. Implementation note: Stores each line of text as a string and all the lines in a vector. Also stores the name of the file and the window height.