diff options
| author | Greg Ercolano <erco@seriss.com> | 2013-11-10 04:33:44 +0000 |
|---|---|---|
| committer | Greg Ercolano <erco@seriss.com> | 2013-11-10 04:33:44 +0000 |
| commit | 88cea3c82dd821e652608fcccce229fea0249d08 (patch) | |
| tree | af8f5c8c8d3336522a98959b717c4855eb2114c2 /FL/Fl_Tree_Prefs.H | |
| parent | 39a8ef3c4cb3fb61c7aec9717423490aad6604ff (diff) | |
o Added Fl_Tree::item_draw_callback(), letting one define a custom draw function for Fl_Tree_Item's.
o Added examples/tree-custom-draw-items.cxx to demonstrate its use.
o Fixed small doc error for recent Fl_Tree::get_selected_items()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10018 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL/Fl_Tree_Prefs.H')
| -rw-r--r-- | FL/Fl_Tree_Prefs.H | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/FL/Fl_Tree_Prefs.H b/FL/Fl_Tree_Prefs.H index b01033e78..5ced88f4b 100644 --- a/FL/Fl_Tree_Prefs.H +++ b/FL/Fl_Tree_Prefs.H @@ -93,6 +93,11 @@ enum Fl_Tree_Item_Draw_Mode { }; #endif /*FLTK_ABI_VERSION*/ +#if FLTK_ABI_VERSION >= 10303 +class Fl_Tree_Item; +typedef void (Fl_Tree_Item_Draw_Callback)(Fl_Tree_Item*, void*); +#endif + /// \class Fl_Tree_Prefs /// /// \brief Fl_Tree's Preferences class. @@ -134,6 +139,10 @@ class FL_EXPORT Fl_Tree_Prefs { Fl_Tree_Item_Reselect_Mode _itemreselectmode; // controls item selection callback() behavior Fl_Tree_Item_Draw_Mode _itemdrawmode; // controls how items draw label + widget() #endif /*FLTK_ABI_VERSION*/ +#if FLTK_ABI_VERSION >= 10303 + Fl_Tree_Item_Draw_Callback *_itemdrawcallback; // callback to handle drawing items (0=none) + void *_itemdrawuserdata; // data for drawing items (0=none) +#endif public: Fl_Tree_Prefs(); @@ -412,7 +421,22 @@ public: inline void item_draw_mode(Fl_Tree_Item_Draw_Mode val) { _itemdrawmode = val; } -#endif /*FLTK_ABI_VERSION*/ +#endif +#if FLTK_ABI_VERSION >= 10303 + void item_draw_callback(Fl_Tree_Item_Draw_Callback *cb, void *data=0) { + _itemdrawcallback = cb; + _itemdrawuserdata = data; + } + Fl_Tree_Item_Draw_Callback* item_draw_callback() const { + return(_itemdrawcallback); + } + void* item_draw_user_data() const { + return(_itemdrawuserdata); + } + void do_item_draw_callback(Fl_Tree_Item *o) const { + _itemdrawcallback(o, _itemdrawuserdata); + } +#endif }; #endif /*FL_TREE_PREFS_H*/ |
