CS 392F HW1 — Adrian Quark
Overview
To compile and run a program based on the equation file Basic.equation, run: ./run Basic.equation
To create new equation files, run: guidsl model.m
Features
model.m defines the feature model.
This implementation is very fine-grained, involving 11 features for a total
of 3*28 possible programs.
- Print
- Print menu item and button.
- FormatRaw
- Formatting options for raw text (line wrapping and font). Requires TextRaw.
- FormatStyled
- Formatting options for styled text (regular/bold/italic). Requires TextStyled. This is more a proof of concept than a complete implementation of rich text formatting.
- Find
- Find and Find Again options.
- Clipboard
- Cut, Copy, Paste, and Select All.
- Undo
- Undo and Redo.
- File
- File New, Open, Save, and Save As.
- MenuBar
- Menu bar.
- ToolBar
- Tool bar. This simply enables the toolbar which is actually
populated by the other features. As a future project it would be interesting
to allow features to register "actions" in some higher-level abstract way so
that tool bars and menu bars could be generated more flexibly.
- TextRaw
- Raw text editing area. Conflicts with TextStyled.
- TextStyled
- Styled text editing area. Conflicts with TextRaw.
- Base
- Base. Requires TextRaw or TextStyled.
I began experimenting with creating an "SWT" feature, but found it too
tedious to create all the necessary interfaces to make the existing features
toolkit-neutral.
Equation Files
- Minimal.equation
- A minimal scratch pad without even the capability to save.
- Basic.equation
- A basic editor with save, undo, clipboard, find, print.
- FullRaw.equation
- A fully-featured editor for plain text.
- FullStyled.equation
- A fully-featured editor for styled text.