move lttv to root
[lttv.git] / lttv / modules / gui / controlflow / TODO
diff --git a/lttv/modules/gui/controlflow/TODO b/lttv/modules/gui/controlflow/TODO
new file mode 100644 (file)
index 0000000..ade1832
--- /dev/null
@@ -0,0 +1,64 @@
+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)
+
+
This page took 0.02331 seconds and 4 git commands to generate.