--- /dev/null
+TODO list on control flow view by Mathieu Desnoyers
+
+- Make "before hook" update process's info : it creates an inconsistency
+ between state.c process table and process list. Waiting to see if
+ state.c will take first event time as creation time or first schedule.
+
+
+- Split in process view and CPU ciew :
+ - remove process 0 from the process list
+ - add a new viewer to the module :
+ - cfv.c -> new cpuctl.c : core of the view
+ - eventhooks.c -> cpuhooks.c : draw cpu states
+ - processlist.c -> cpulist.c
+
+- Check cfv for stability, modules load/unload, viewer start (many:3+), stop,
+ memory leaks; standardize module unloading : in all cases they should call
+ main window's API for viewer widget removal, and only then the memory should
+ be released (from the call of the main window).
+
+- Add viewer selected signal (call main window's API function)
+- When viewing a big trace, use the fact that the drawing cannot be more
+ precise than the amount of horizontal pixels it has : "jump" from one event
+ to another, converting pixels to time in the trace. It will use efficiently
+ the "saved state" functionnality of underlying state.c.
+
+- Modify widgets'organization so the time bar is not affected by scrolling :
+ it may need to separate process list from the drawing area (not in a
+ scrolled window anymore). The idea would be to use a scrolled window for
+ the drawing area, put it in the right side of a hbox, put the tree view
+ in the left side and then connect the tree view's adjustment to the
+ scrolled window's scroll bar.
+
+- Modify icon, text and arc drawing so they are drawn only on top of the
+ background. They will have to be drawn from the following event or from
+ closure function in order to respect the priorities.
+
+Wish list
+
+- Tool bar for the viewer so many actions can be done on the screen.
+
+- Ability to select events with the mouse : in a "event selection mode", the
+ mouse click would "redraw" the image virtually and select an event.
+ (just like selectionGL in OpenGL).
+
+- Shown more events if wanted.
+
+- Use filter to show additionnal events. (do not filter schedule events!
+ The filtering should be applied to the additionnal events only). Note that it
+ require no change to filter : just do not make the filter apply on every
+ incoming events in the viewer's hooks.
+
+- Add vertical lines showing control flow between processes : it may become
+ confusing when working on multiple cpu.
+
+- Add a horizontal line showing the currently selected process. May be a
+ light dotted line, similar to the current time line, but with a different
+ color/pattern.
+
+- Add events customization window : make the user able to select the
+ text/icon/line color/background color/dots linked with any kind of
+ event. The framework is there, it must be completed. (the use of
+ Attributes to call hooks for every event type comes from there)
+
+