diff options
| author | Greg Ercolano <erco@seriss.com> | 2012-01-19 12:44:26 +0000 |
|---|---|---|
| committer | Greg Ercolano <erco@seriss.com> | 2012-01-19 12:44:26 +0000 |
| commit | 9a4ef219defa24e0db83dc5f22d01cf29e0a75bd (patch) | |
| tree | dfe98f029a079fad8a88e296ef1d9919386c4cf4 /FL/Fl_Tree_Item.H | |
| parent | 82b6725d166d507755153c4cdd20d3a879ae7846 (diff) | |
Fl_Tree optimizations for selecting large trees (100k items).
Added _next_sibling and _prev_sibling to Fl_Tree_Item class to make
next_sibling() and prev_sibling() more efficient during item selection.
Used new FLTK_ABI_VERSION macro (as designed by Greg and Albrecht on fltk.dev) to protect the ABI breaking features.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9231 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL/Fl_Tree_Item.H')
| -rw-r--r-- | FL/Fl_Tree_Item.H | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/FL/Fl_Tree_Item.H b/FL/Fl_Tree_Item.H index a3b4e2cda..d090df1b6 100644 --- a/FL/Fl_Tree_Item.H +++ b/FL/Fl_Tree_Item.H @@ -69,6 +69,10 @@ class FL_EXPORT Fl_Tree_Item { Fl_Tree_Item_Array _children; // array of child items Fl_Tree_Item *_parent; // parent item (=0 if root) void *_userdata; // user data that can be associated with an item +#if FLTK_ABI_VERSION >= 10302 + Fl_Tree_Item *_prev_sibling; // previous sibling (same level) + Fl_Tree_Item *_next_sibling; // next sibling (same level) +#endif /*FLTK_ABI_VERSION*/ protected: void show_widgets(); void hide_widgets(); @@ -178,6 +182,7 @@ public: Fl_Tree_Item *next(); Fl_Tree_Item *next_sibling(); Fl_Tree_Item *prev_sibling(); + void update_prev_next(int index); Fl_Tree_Item *next_displayed(Fl_Tree_Prefs &prefs); Fl_Tree_Item *prev_displayed(Fl_Tree_Prefs &prefs); |
