summaryrefslogtreecommitdiff
path: root/FL/Fl_Tree_Prefs.H
diff options
context:
space:
mode:
authorGreg Ercolano <erco@seriss.com>2013-11-10 04:33:44 +0000
committerGreg Ercolano <erco@seriss.com>2013-11-10 04:33:44 +0000
commit88cea3c82dd821e652608fcccce229fea0249d08 (patch)
treeaf8f5c8c8d3336522a98959b717c4855eb2114c2 /FL/Fl_Tree_Prefs.H
parent39a8ef3c4cb3fb61c7aec9717423490aad6604ff (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.H26
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*/