package edit; import options.UserOptions; /** * Class Edit is derived from 2.8 of the requirements, which in turn derives * from the commands on the 'Edit' menu. In this simple initial model, almost * all of the generic editing functionality is modeled as operations. There is * one data field for the 'Preferences ...' menu item, described in Sections * 2.8.2 through 2.8.5 of the requirements. * * In Milestone 6, there is a nomenclature problem with the terms "Preferences" * and "Options". These would appear to be two words that describe the same * data. As Milestone 6 is refined to Milestone 8, we'll see how this problem * is resolved by choosing the term "Options", and promoting the * 'Edit->Preferences' menu item to a top-level menu. See also the comments * about this in the options.java model file. * * This simple sketch is fine for Milestone 6, since this aspect of editing is * a lower priority compared to the other aspects of the requirements and model. */ abstract class Edit { abstract void undo(); abstract void redo(); abstract void repeat(); abstract void cut(); abstract void copy(); abstract void past(); abstract void delete(); abstract void selectAll(); abstract void find(); UserOptions preferences; }