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)