Compressed Pseudo UML for Sequencer64
Chris Ahlstrom
2015-10-01 to 2015-10-03

mainwnd--> gui_window_gtk2, performcallback
   |
   |<&>-- perform
   |<*>-- mainwid -->  gui_drawingarea_gtk2
   |         |    -->  seqmenu --> Glib::ObjectBase
   |         |            |
   |         |            |<&>-- perform
   |         |            |<>--- sequence
   |         |            |<*>-- seqedit
   |         |
   |         |<>--- sequence
   |                    |
   |                    |<>--- event_list, stack<event_list>
   |                    |<>--- Triggers, stack<Triggers>
   |
   |<*>-- maintime --> gui_drawingarea_gtk2
   |<*>-- perfedit --> gui_window_gtk2
   |         |
   |         |<*>-- perfnames --> gui_drawingarea_gtk2
   |         |          |
   |         |          |<*>-- perform
   |         |
   |         |<*>-- perfroll  --> gui_drawingarea_gtk2
   |         |          |
   |         |          |<*>-- perform
   |         |          |<*>-- AbstractPerfInput
   |         |          | friend FruityPerfInput
   |         |          | friend Seq24PerfInput
   |         |
   |         |<*>-- perftime  --> gui_drawingarea_gtk2
   |                    |
   |                    |<*>-- perform
   |
   |<*>-- options  --> Gtk::Dialog
             |
             |<&>-- perform
                       |
                       |<&>-- gui_assistant
                       |<*>-- sequence []
                       |<>--- jack_assistant
                       |<>--- mastermidibus
                       |<>--- midi_control []
                       |<*>-- performcallback <vector>

seqedit --> gui_window_gtk2
   |
   |<&>-- sequence
   |<*>-- seqdata --> gui_drawingarea_gtk2
   |         |
   |         |<*>-- sequence
   |         | friend seqevent
   |         | friend seqroll
   |
   |<*>-- seqevent --> gui_drawingarea_gtk2
   |         |
   |         |<>--- FruitySeqEventInput
   |         |<>--- Seq24SeqEventInput
   |         |          |
   |         |          |----> seqevent
   |         |
   |         |<*>-- sequence
   |         |<*>-- seqdata
   |
   |<*>-- seqkeys --> gui_drawingarea_gtk2
   |         |
   |         |<*>-- sequence
   |
   |<*>-- seqroll --> gui_drawingarea_gtk2
   |         |
   |         |<&>-- perform
   |         |<*>-- sequence
   |         |<*>-- seqdata
   |         |<*>-- seqevent
   |         |<*>-- seqkeys
   |         |<>--- FruitySeqRollInput
   |         |<>--- Seq24SeqRollInput
   |
   |<*>-- seqtime --> gui_drawingarea_gtk2
   |         |
   |         |<*>-- sequence

keybindentry --> Gtk::Entry
   |
   |<*>-- perform (optional)

gui_drawingarea_gtk2 --> gui_palette_gtk2 --> Gtk::DrawingArea
   ^
   |--- mainwid
   |--- maintime
   |--- perfnames
   |--- perftime

gui_window_gtk2 --> Gtk::Window
   ^
   |--- mainwnd
   |--- perfedit
   |--- seqedit

keys_perform_gtk2 --> keys_perform

# vim: sw=4 ts=4 wm=4 et ft=sh
