Commit Graph

15 Commits

Author SHA1 Message Date
Greg Ercolano
4e40f1b339 Mods to allow test/tree to add 20,000 items at a time to the tree to test for slowness.
Also added a test for the swap() method.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9232 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-01-19 12:52:53 +00:00
Greg Ercolano
5ecca683a3 Tree demo: removed unused cruft, fixed custom icons.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8448 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-19 22:39:00 +00:00
Greg Ercolano
97847cfe26 Enlarged pulldown menu choosers slightly.
(They were too small vertically, cutting off font descenders under linux.)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8421 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-13 17:31:54 +00:00
Greg Ercolano
5759f3151f Avoid non-ansi scoping issue with variables defined inside for() loops.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8346 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-01 00:08:45 +00:00
Greg Ercolano
2c5006563f Fl_Tree API breaking changes (we haven't released 1.3.0 yet..):
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-30 20:22:06 +00:00
Manolo Gouy
712554e3b0 Fixed STR #2512: crash in test/tree demo.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8222 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-09 08:34:13 +00:00
Albrecht Schlosser
97b4b0c704 Fixed Compiling with mingw-w64 (STR #2308).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7978 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-08 14:00:35 +00:00
Greg Ercolano
d3e0d030f0 Changes to solve STR#2426;
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-11-25 18:52:37 +00:00
Matthias Melcher
4cfee0c9c2 Removed preset theme from tree test, so that launching the test with the demo app can show the various available themes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7839 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-15 08:44:28 +00:00
Greg Ercolano
5a461b0ff4 Some widgets reordered for consistent keyboard navigation in tree test program.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7784 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-31 16:54:00 +00:00
Greg Ercolano
c7ef0f1d17 Fl_Tree related mods
* 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-08-26 13:32:30 +00:00
Albrecht Schlosser
faf8908684 Fixed typos and rewrote tree.fl -> tree.cxx/.h
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7673 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-07-10 10:51:54 +00:00
Matthias Melcher
32716d6b1e Updated the Fluid IDE support for the current source file structure. Changed 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-07-10 09:44:45 +00:00
Greg Ercolano
41f7ed5477 Reordered widgets for proper keyboard navigation.
(in progress: adding keyboard nav to Fl_Tree)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7639 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-06-14 02:02:33 +00:00
Greg Ercolano
a42b56fbe8 Added tree.fl -- the source file for tree.cxx / tree.h
In the future, tree.cxx and tree.h should be removed from svn
once tree.fl is merged into to the build system, so that it
generates the .cxx/.h files as part of an fltk build.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7638 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-06-14 01:58:56 +00:00