diff options
| author | Greg Ercolano <erco@seriss.com> | 2014-01-20 21:23:24 +0000 |
|---|---|---|
| committer | Greg Ercolano <erco@seriss.com> | 2014-01-20 21:23:24 +0000 |
| commit | abdc83470530c5fa8e15370a2032093cd91dace7 (patch) | |
| tree | dea9946420c6788e8fde4bcabd839e599138666b /FL/Fl_Tree.H | |
| parent | aa71c2f6e1d7c78acc4eb7c6603761423d859390 (diff) | |
o Added draw_item_content() to Fl_Tree_Item,
a volatile method that can be overridden by
subclasses to take drawing control of tree item's content.
This replaces the old "item_draw_callback()" technique
added a few months ago as an ABI feature; turned out the
new technique is a better way to go.
o The examples/tree-custom-draw-items.cxx demo adjusted
accordingly.
o Added missing docs for some methods that had none,
including label_[xywh]().
o Added related methods needed to implement this, including:
Fl_Tree_Item_Array::replace()
Fl_Tree_Item::replace()
Fl_Tree::root(item)
Fl_Tree::add() variations
Fl_Tree_Item::drawbgcolor()/drawfgcolor()
o Carefully worked the FLTK_ABI_VERSION macros so as to be
ABI compatible with 1.3.0.
o Verified 1.3.0 ABI compatibility with ABI Compliance Checker 1.99.8.5:
http://ispras.linuxbase.org/index.php/ABI_compliance_checker
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10071 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL/Fl_Tree.H')
| -rw-r--r-- | FL/Fl_Tree.H | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/FL/Fl_Tree.H b/FL/Fl_Tree.H index ab637b947..c4a516dba 100644 --- a/FL/Fl_Tree.H +++ b/FL/Fl_Tree.H @@ -372,11 +372,18 @@ public: /////////////////////// void root_label(const char *new_label); Fl_Tree_Item* root(); + void root(Fl_Tree_Item *newitem); + const Fl_Tree_Prefs& prefs() const { return _prefs; } //////////////////////////////// // Item creation/removal methods //////////////////////////////// +#if FLTK_ABI_VERSION >= 10303 + Fl_Tree_Item *add(const char *path, Fl_Tree_Item *newitem=0); +#else Fl_Tree_Item *add(const char *path); + Fl_Tree_Item *add(const char *path, Fl_Tree_Item *newitem); +#endif Fl_Tree_Item* add(Fl_Tree_Item *parent_item, const char *name); Fl_Tree_Item *insert_above(Fl_Tree_Item *above, const char *name); Fl_Tree_Item* insert(Fl_Tree_Item *item, const char *name, int pos); @@ -407,7 +414,7 @@ public: Fl_Tree_Item *last_visible(); // deprecated in ABI 10303 Fl_Tree_Item *last_visible_item(); #if FLTK_ABI_VERSION >= 10303 - Fl_Tree_Item *next_visible_item(Fl_Tree_Item *start, int dir); + Fl_Tree_Item *next_visible_item(Fl_Tree_Item *start, int dir); // made public in 1.3.3 ABI #endif Fl_Tree_Item *first_selected_item(); Fl_Tree_Item *last_selected_item(); @@ -444,16 +451,24 @@ public: int deselect_all(Fl_Tree_Item *item=0, int docallback=1); int select_only(Fl_Tree_Item *selitem, int docallback=1); int select_all(Fl_Tree_Item *item=0, int docallback=1); + int extend_selection_dir(Fl_Tree_Item *from, + Fl_Tree_Item *to, + int dir, + int val, + bool visible); #if FLTK_ABI_VERSION >= 10303 - void extend_selection(Fl_Tree_Item *from, Fl_Tree_Item *to); - int extend_selection(Fl_Tree_Item *from, Fl_Tree_Item *to, int dir, int val, bool visible); - int extend_selection(Fl_Tree_Item *from, Fl_Tree_Item *to, int val, bool visible); + int extend_selection(Fl_Tree_Item *from, + Fl_Tree_Item *to, + int val=1, + bool visible=false); #else - // Adding overload if not at least one overload breaks ABI, so avoid - // See: http://www.ros.org/reps/rep-0009.html private: - int extend_selection__(Fl_Tree_Item *from, Fl_Tree_Item *to, int dir, int val, bool visible); - int extend_selection__(Fl_Tree_Item *from, Fl_Tree_Item *to, int val, bool visible); + // Adding overload if not at least one overload breaks ABI, so avoid + // by keeping private until we can break ABI. ref: http://www.ros.org/reps/rep-0009.html + int extend_selection__(Fl_Tree_Item *from, + Fl_Tree_Item *to, + int val, + bool visible); public: #endif void set_item_focus(Fl_Tree_Item *item); @@ -522,10 +537,6 @@ public: void item_draw_mode(int mode); #endif #if FLTK_ABI_VERSION >= 10303 - void item_draw_callback(Fl_Tree_Item_Draw_Callback *cb, void *data=0); - Fl_Tree_Item_Draw_Callback* item_draw_callback() const; - void* item_draw_user_data() const; - void do_item_draw_callback(Fl_Tree_Item *o) const; void calc_dimensions(); void calc_tree(); #endif |
