summaryrefslogtreecommitdiff
path: root/src/Fl_Tree.cxx
AgeCommit message (Collapse)Author
2012-04-19STR# 2827 cont'd:Greg Ercolano
> Prevent 'changed' flag from being set during reselect > test/tree.fl: added chooser so user can test with item reselect enabled|disabled (Chooser deactivated if the ABI option is not enabled) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9358 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-18Optimizations for when Fl_Tree is a container of FLTK widgets.Greg Ercolano
o Don't draw FLTK widgets outside tree's viewport. o Added tree-as-container.cxx example program, demos tree w/50k tree items each with 6 widgets (300k total) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9356 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-18indent fixesGreg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9355 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-15STR 2827 implementation. Implemented Reselect code and related API all ↵Fabien Costantini
within ABI controlled preprocessor blocks because of new attribute defintion would break ABI anyway. Because the code is already ABI controlled, I took the opportunity to keep keep the REASON enum sorted. Added test code in Tree.fl adequately. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9347 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-13ABI modifications to Fl_Tree: deprecate mouse selection hotfix with proper ↵Greg Ercolano
solution. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9340 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-05Fixed build error in msvs because Fl ref to FULLSCREEN enum was not ↵Fabien Costantini
accessible in Fl_Widget. new inline is_fullscreen() getter has been implemented to avoid a build error with (at least) msvc compilers. Fixed a ton of warnings / problems when bilding on windows 64 bits target with ms toolchain. cleaned up about 200 warnings raised when building win74 targets. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9325 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-02-21Fix STR#2807: when(FL_WHEN_NEVER) was not working.Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9249 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-12-25Fix comment typoGreg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9215 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-12-06Fixing STR #2786; clipping problem with child FLTK widgets.Greg Ercolano
Replication: Run 'tree' demo, open '500 items' subtree, change 'connector width' to 100.. the "D2" and "ccc" buttons would overdraw the scrollbar. (Not the regular tree items) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9197 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-02Fix drawing problem with Fl_Input as child of Fl_Tree.Greg Ercolano
(fixes STR#2725) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9117 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-29Solve Fl_Tree issues w/ STR#2714 (shadow variable issue for apps)Greg Ercolano
by moving code implementations from Fl_Tree.H -> Fl_Tree.cxx. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9085 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-19Modifications to all LGPL headers for STR #2685.Greg Ercolano
(to clarify static exception LGPL by changing license references) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8864 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-04Fl_Tree mods for handling escaped item menu names.Greg Ercolano
Docs clarified. Also, tree-simple example's callback handler brought up to date. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8632 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-14Corrected typo.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8590 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-19Small mod for NULL behavior of show_item(item,yoff). (STR#2517)Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8450 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-19Document NULL item behavior, small code mods for same.Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8449 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-13Selection color fixes, widget screenshot added to top of docs.Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8420 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-30Fl_Tree API breaking changes (we haven't released 1.3.0 yet..):Greg Ercolano
Fl_Tree::labelsize() -> item_labelsize() -- TO AVOID COLLISION WITH Fl_Widget::labelsize()! Fl_Tree::labelfont() -> item_labelfont() -- TO AVOID COLLISION WITH Fl_Widget::labelfont()! Fl_Tree_Prefs (internal) changes: Fl_Tree_Prefs::fgcolor() -> labelfgcolor() -- for consistency with above Fl_Tree_Prefs::bgcolor() -> labelbgcolor() -- for consistency with above Fl_Tree_Prefs::selectcolor() removed -- uses Fl_Widget::selection_color() instead Fl_Tree_Prefs::inactivecolor() removed -- was unused; inactive color procedurally calculated Other Fl_Tree mods: o Fixed bug with select_all(item) and deselect_all(item) (they were not limiting themselves to children of specified item) o Fixed bug with item not drawing in its /own/ bgcolor when item selected o Fl_Tree uses the Fl_Widget::selection_color() o All methods that deal with 'font types' changed int -> Fl_Font o All methods that deal with 'font sizes' changed int -> Fl_Fontsize o Added needed methods to Fl_Tree for accessing colors: item_labelfgcolor() -- access default fg color used for new items item_labelbgcolor() -- access default bg color used for new items tree_connectorcolor() -- access the connector line color o Small doxygen comment adjustments and general clarifications o test/tree demo modified to include testing of new label color methods, cleanup git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8340 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-29Fixes STR#2547.Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8327 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-28Fixed Copyright to 2010.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-25Changes to solve STR#2426;Greg Ercolano
1) Hitting ENTER to select an item should make sure the item is displayed if off-screen (Mayank Malik, pointing out similar behavior in Fl_Browser_) 2) show_item() without a positional argument will invoke show_item_top() if the item is off-screen. 3) Added new method displayed() (to match Fl_Browser_'s) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7893 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-30Fixed special handling for ISO back-tab keycode (STR #2369)Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7779 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-12Strengthened doxygen docs for set_item_focus().Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7722 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-08-26Fl_Tree related modsGreg Ercolano
* open() / close() now can invoke the callback(). New method callback_reason() lets one determine the cause. (Used FLU's tree for reference on this) * new Fl_Tree methods: > item_pathname() > show_item(), show_top(), show_middle(), show_bottom(). > next_selected_item() -- loop through the selected items. > callback_item() -- the item that caused the callback > callback_reason() -- reason the callback was invoked FL_TREE_REASON_SELECTED -- item was selected FL_TREE_REASON_DESELECTED -- item was de-selected FL_TREE_REASON_OPENED -- item was opened FL_TREE_REASON_CLOSED -- item was closed > position() > display() * new Fl_Tree_Item methods: > find_child_item() -- searches children for a path > find_item() -- searches self and children for a path > next(item) -- loop forward through tree > prev(item) -- loop backward through tree > first_selected_item() > next_selected_item() > x(), y(), w(), h() * deprecated: > item_clicked(). Use callback_item() instead * the 'docallback' optional integer argument for all methods is now back to 0 or 1 only. (Other values became unnecessary when above new callback() behavior was defined) * test/tree has new "Test Callback Flags" button to test the 'docallback' flags for eg. open/close/select/deselect to make sure no bugs creep in. * INTERNAL: added free_path() to free special path array created by parse_path(). * Various docs strengthened: * How to use first()/next() and last()/prev() to walk tree > made sure more method's options use \param[in] > Added more \see references * Moved several implementations from .H -> .cxx * Added autoscroll to keyboard nav and mouse drags * test/unittests: added Fl_Tree to scrollsize test TODO: o Horiz scroll bar (see Johannes Schock's email re. additions he sent) o Need to allow keyboard nav to move focus to child FLTK widgets o Fix fast-selections so that no gaps are left behind. (Select all items from the last selected item to the current) o Investigate non-default values of when() causing odd behavior. (See the tree demo's when() pulldown..) * tree demo modified to include top/mid/bot buttons that test the above. * Keyboard navigation added: Up/Down -- move focus Left/Right -- closes/opens tree item in focus Spacebar -- toggle selection state of item in focus Enter -- selects the item in focus, deselecting all others Tab/Shift-Tab -- change widget focus * All Fl_Tree select() and deselect() methods now return a value that indicates if the item's state was changed. * Fixed focus box drawing (focus box resides more precisely within item's box) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7691 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-07-10Updated the Fluid IDE support for the current source file structure. Changed ↵Matthias Melcher
the Fl_Tree rendering code around a bit to make the tree more like MSWindows on Windows and more like Apple on Apple machines. I hope you guys like it. I also moved the function to load Fl_Preferences into an Fl_Tree into the Fl_Tree class where it belongs. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7672 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-05-12Mods to tree widget for docs and callbacks.Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7604 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-05-101) Modified tree test program to include when() options,Greg Ercolano
2) Improved when() handling for left mouse behavior 3) Added docs for when() handling git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7601 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-05-101) Invoke callback if when(FL_WHEN_RELEASE)Greg Ercolano
2) Removed unintended fallthrough from FL_DRAG -> FL_RELEASE handler. 3) Removed redundant redraw() calls git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7599 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-12-08Small fixed to SebHoll's user_data() mods (init + copy ctor),Greg Ercolano
added select_all() to Fl_Tree and Fl_Tree_Item. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6957 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-12-08Checked in SebHoll's API mods, fixed indents.Greg Ercolano
o Added user_data() to Fl_Tree_Item o Added insert() and add() methods that allow specification of Fl_Tree_Prefs o Changed Fl_Pixmap args to Fl_Image for more flexibility o Fixes for positioning of items in the presence of user icons o find_children() changed from protected -> public git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6956 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-11-18Added missing svn properties and $Id$ tags.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6943 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-11-14Added Fl_Tree source code, demo files, and documentation. Thanks, Greg!Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6934 ea41ed52-d2ee-0310-a9c1-e6b18d33e121