use attributes
[lttv.git] / ltt / branches / poly / lttv / modules / guiControlFlow / Draw_Item.c
index 1c89f70192e0e2439b7ec21d0b265ff3b771ce54..fd6f0cf0eedc929b33720e8106113b065c6e7c39 100644 (file)
@@ -5,11 +5,11 @@
  * in a drawable. Doing this generically will permit user defined drawing
  * behavior in a later time.
  *
- * We keep each data type in a hash table, as this container suits the
- * best the information we receive (GQuark).
- * (A hash table for facilities, pointing to an array per facility, containing
- * event_number events.)
- * (hash tables for cpus, for process state, for execution mode and submode).
+ * We keep each data type in attributes, keys to specific information
+ * being formed from the GQuark corresponding to the information received.
+ * (facilities / facility_name / events / eventname.)
+ * (cpus/cpu_name, process_states/ps_name,
+ * execution_modes/em_name, execution_submodes/es_name).
  * The goal is then to provide a generic way to print information on the
  * screen for all this different information.
  *
  * - point (color, size)
  * - background color (color)
  *
- * Each item has an array of pointers to operation structures, which define
- * the information type selector. We seek the array each time we want to
- * draw an item. We execute each operation in order, casting to the right
- * operation type corresponding to the information type selector.
+ * Each item has an array of hooks (hook list). Each hook represents an
+ * operation to perform. We seek the array each time we want to
+ * draw an item. We execute each operation in order. An operation type
+ * is associated with each hook to permit user listing and modification
+ * of these operations. The operation type is also used to find the
+ * corresponding priority for the sorting. Operation type and priorities
+ * are enum and a static int table.
  *
  * The array has to be sorted by priority each time we add a task in it.
- * A priority is associated with each information type selector. It permits
+ * A priority is associated with each operation type. It permits
  * to perform background color selection before line or text drawing. We also
  * draw lines before text, so the text appears over the lines.
  *
  * has to be done in a same DrawContext. The goal there is to keep the offset
  * of the text and icons over and under the middle line, so a specific
  * event could be printed as (  R Si 0 for running, scheduled in, cpu 0  ),
- * text being easy to replace with icons.
+ * text being easy to replace with icons. The DrawContext is passed as
+ * call_data for the operation hooks.
  *
  * Author : Mathieu Desnoyers, October 2003
  */
+
+#include <glib.h>
+#include <lttv/hook.h>
+#include <lttv/attribute.h>
+#include <lttv/iattribute.h>
+
This page took 0.02308 seconds and 4 git commands to generate.