> Preparing to make a large checkin of Fl_Tree to 1.3.x that implements
> many of the features/capabilities discussed to date.


   Done -- fltk 1.3.x r7691:

    * 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 last selected item to 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 item in focus, deselects 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)
_______________________________________________
fltk-dev mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-dev

Reply via email to