Small GNOME foot in banner [Making Applications Accessible]
back next

Flyweight AtkObjects

  • AtkObjects created on behalf of objects that aren't full-blown widgets
    • cells in a treeview
    • icons in an icon list
    • for an example, see gail/gail/gailcell.c
    • some flyweight AtkObjects have ATK_STATE_TRANSIENT
    From gailcell.c:
      AtkObject parent;
      GtkWidget    *widget;
      gint         index;
      AtkStateSet *state_set;
      GList       *action_list;
      void (*refresh_index) (GailCell *cell);
    		    
    
  • Preceding example illustrates:
    • maintaining index in parent, parent back-pointer
    • maintaining state information
    • making the object generic enough to be useful in other widgets (gailcell is used by clist and treeview)
st