MyDocument is an NSDocument subclass which is central to the design of Hex Fiend. It acts as an MVC-style controller between the views and the ByteArray model.
In addition to all the usual NSDocument responsibilities, MyDocument has the following responsibilities:
- Creating the DataViews, the NSScroller, the StatusView, the LineCountingView, the Go To Sheet, and the Find Panel?.
- Sizing these views as the window is resized or the font is changed.
- Keeping track of the current selection, the current number of bytes per line, and the current scroll position.