fltk/test
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
..
blocks.app/Contents Do some rearranging of image and desktop support files. 2006-08-25 06:58:33 +00:00
checkers.app/Contents Update OSX icons. 2006-01-15 19:12:08 +00:00
desktop Added missing semicolons in desktop file 2008-03-16 12:20:30 +00:00
pixmaps Removed DOS style ^M's; they were preventing SGI compiles (partial STR#2174) 2009-03-13 22:58:31 +00:00
sudoku.app/Contents Update OSX icons. 2006-01-15 19:12:08 +00:00
adjuster.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
arc.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
ask.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
bitmap.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
blocks.cxx Removed remaining 'deprecated function' warnings for Xcode 2010-03-10 22:56:56 +00:00
boxtype.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
browser.cxx Moved OS X code base to the more moder Cocoa toolkit thanks to the awesome work of Manolo Gouy (STR #2221). This is a big one! I tested all test applications under 32-bit autoconf and Xcode, and a few apps under 64bit intel. No PPC testing was done. Please verify this patch if you have the machine! 2009-12-06 22:21:55 +00:00
button.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
buttons.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
cairo_test.cxx Changed references to fltk-bugs@fltk.org -> STR form. 2010-04-28 03:15:47 +00:00
checkers.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
clock.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
CMakeLists.txt Updated CMake files and removed now obsolete test/tree.cxx and 2010-07-10 14:25:46 +00:00
colbrowser.cxx minor changes so all demos work under Xcode. 2010-01-27 23:25:00 +00:00
color_chooser.cxx Moved OS X code base to the more moder Cocoa toolkit thanks to the awesome work of Manolo Gouy (STR #2221). This is a big one! I tested all test applications under 32-bit autoconf and Xcode, and a few apps under 64bit intel. No PPC testing was done. Please verify this patch if you have the machine! 2009-12-06 22:21:55 +00:00
connect.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
cube.cxx Fl_Printer is now enough to print this window. 2010-03-17 13:29:14 +00:00
CubeMain.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
CubeView.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
CubeView.h Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
CubeViewUI.fl New context_changed() function for OpenGL windows allowing efficient texture loading (str #1372) 2006-08-17 09:49:43 +00:00
cursor.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
curve.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
demo.cxx 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. 2010-07-10 09:44:45 +00:00
demo.menu Added device demo to target list and to cool demos section 2010-03-23 18:09:38 +00:00
device.cxx Bringing supported IDEs to the newest setup, add device and others. 2010-03-27 08:51:54 +00:00
doublebuffer.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
editor.cxx made test/editors textsize "configurable" (by macro TS) 2010-08-24 08:12:50 +00:00
fast_slow.fl Redid Carl's fix to fast_slow (making it be output widgets rather 1999-05-06 06:21:53 +00:00
file_chooser.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
fl_jpeg_image.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
fonts.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
forms.cxx Added the counterpart for FL_COMMAND (F_CONTROL). Added GTK Boxtype to the Forms test. Made utf function more fail-safe. Testing SCM on Xcode (wish me luck) 2009-09-17 20:00:33 +00:00
fractals.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
fracviewer.cxx Fix <FL/glu.h> includes. 2006-08-25 16:12:13 +00:00
fracviewer.h Fixup fractals demo so it doesn't get way ahead of display - some Linux 2002-01-03 14:08:08 +00:00
fromdos.c Initial revision 1998-10-06 18:21:25 +00:00
fullscreen.cxx Moved OS X code base to the more moder Cocoa toolkit thanks to the awesome work of Manolo Gouy (STR #2221). This is a big one! I tested all test applications under 32-bit autoconf and Xcode, and a few apps under 64bit intel. No PPC testing was done. Please verify this patch if you have the machine! 2009-12-06 22:21:55 +00:00
gl_overlay.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
glpuzzle.cxx Some fine tuning after introduction of Fl_Gl_Window-capable Fl_Printer::print_widget() 2010-03-17 07:56:50 +00:00
hello.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
help.cxx Help demo: now loads the non framed version main.html instead of index.html 2009-01-20 08:53:11 +00:00
iconize.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
image.cxx Removed yellow color from image background. 2010-06-09 09:37:49 +00:00
inactive.fl STR #1052: updated color handling in test programs. If you are planning on creating labels based on foreground or background color, you should load the colors *before* creating the user interface. This is done by calling: 2005-11-02 13:57:56 +00:00
input_choice.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
input.cxx Fixed Fl_Input_::index(int) to return a UCS4 character instead of a byte. 2009-04-23 15:32:19 +00:00
keyboard_ui.fl Typos and alignments 2009-07-18 11:03:44 +00:00
keyboard.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
keyboard.h Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
label.cxx Added new flags for label alignment: FL_LEFT_TOP, FL_RIGHT_TOP, FL_LEFT_BOTTOM, and FL_RIGHT_BOTTOM align outside labels first to the side, then to the top or botton, filling a gap in possible alignment. Also FL_ALIGN_TEXT_NEXT_TO_IMAGE and FL_ALIGN_IMAGE_NEXT_TO_TEXT which do just that, and finally FL_ALIGN_IMAGE_BACKDROP which renders the image in the background and draws the label on top. 2010-04-07 23:17:33 +00:00
line_style.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
list_visuals.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
makedepend Fixed dependencies for next snapshot. 2010-05-28 07:39:27 +00:00
Makefile Merge of branch-1.3-Fl_Printer, with the following main changes: 2010-03-14 18:07:24 +00:00
makefile.wat Changed references to fltk-bugs@fltk.org -> STR form. 2010-04-28 03:15:47 +00:00
mandelbrot_ui.fl Merge of branch-1.3-Fl_Printer, with the following main changes: 2010-03-14 18:07:24 +00:00
mandelbrot.cxx Merge of branch-1.3-Fl_Printer, with the following main changes: 2010-03-14 18:07:24 +00:00
mandelbrot.h Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
menubar.cxx International menu shortcuts working on Mac OS (and probably the other OS's) 2009-09-17 22:12:24 +00:00
message.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
minimum.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
native-filechooser.cxx Hmm, looks like both define()s needed a fix. Thanks Mike! 2010-01-14 21:49:46 +00:00
navigation.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
output.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
overlay.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
pack.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
pixmap_browser.cxx Back to use of fl_file_chooser() 2010-04-15 12:58:42 +00:00
pixmap.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
preferences.fl Fixed uninitialized data in OS X and WIN32 timout functions (STR #1374). 2006-08-21 15:03:02 +00:00
radio.fl Sorted buttons order as they appear in fluid, changed the 'same shortcuts A1 and A2 as it is more confusing than helping in finding bugs for this test case. 2008-12-16 20:11:04 +00:00
README Added common heading and footer to all source files. 1998-10-20 13:25:25 +00:00
resize.fl made the window its own resizable() for better resize testing 2008-09-02 21:42:36 +00:00
resizebox.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
rgb.txt Added the standard rgb.txt file from X11 to the test directory, 2005-05-12 20:03:59 +00:00
rotated_text.cxx fix type conversion 2009-04-24 19:16:29 +00:00
scroll.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
shape.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
subwindow.cxx Cahngad copyrights in 'test' 2009-01-01 16:35:13 +00:00
sudoku.cxx Removed remaining 'deprecated function' warnings for Xcode 2010-03-10 22:56:56 +00:00
sudoku.ico Add missing icon for sudoku 2005-11-29 22:03:39 +00:00
sudoku.rc VC++ 2005 Support, drop old files, add icons for Sudoku 2005-11-27 14:45:48 +00:00
sudokurc.h Fixed shortcut and default focus for message dialogs (STR #1298). 2006-05-30 09:38:19 +00:00
symbols.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
table.cxx Replaced _WIN32 symbols that had crept in with UTF-8 and the 2010-01-23 13:48:50 +00:00
tabs.fl STR #1652: allowing shortcuts in tabs 2007-05-01 20:20:21 +00:00
threads.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
threads.h STR#2035 fix : Changed all 1998-200[0-8] dates to 1998-2009 for supported fltk files (this excludes i.e the png subdir). 2009-01-12 14:52:45 +00:00
tile.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
tiled_image.cxx Most test demos converted to use Fl_Double_Window 2009-04-21 09:09:37 +00:00
trackball.c Initial revision 1998-10-06 18:21:25 +00:00
trackball.h Initial revision 1998-10-06 18:21:25 +00:00
tree.fl Fl_Tree related mods 2010-08-26 13:32:30 +00:00
unittest_about.cxx set properties on unittest files 2009-07-01 15:57:08 +00:00
unittest_circles.cxx set properties on unittest files 2009-07-01 15:57:08 +00:00
unittest_images.cxx restoring transparency in test/unittest_images.cxx (Windows and X11). 2010-03-15 23:39:47 +00:00
unittest_lines.cxx set properties on unittest files 2009-07-01 15:57:08 +00:00
unittest_points.cxx set properties on unittest files 2009-07-01 15:57:08 +00:00
unittest_rects.cxx set properties on unittest files 2009-07-01 15:57:08 +00:00
unittest_scrollbarsize.cxx Fl_Tree related mods 2010-08-26 13:32:30 +00:00
unittest_text.cxx set properties on unittest files 2009-07-01 15:57:08 +00:00
unittest_viewport.cxx changed $Id$ statement to proper format 2009-07-01 16:09:13 +00:00
unittests.cxx Fl_Scroll mods for global scrollbar size control. 2009-07-12 00:15:06 +00:00
utf8.cxx Changed references to fltk-bugs@fltk.org -> STR form. 2010-04-28 03:15:47 +00:00
valuators.fl Fixed modified .fl file. 2007-01-18 10:41:27 +00:00

test/README - 20 Oct 1998
-------------------------

This directory contains tests and demos of FL.  In most cases you can
learn a lot about how to program FL by looking at the source code.

Type "make" to compile them all.

The program "demo" is a graphical interface to run all the demos. (you
may recognize this as a rewrite of an XForms program).

Some of the more interesting programs:

fractals:	A GLUT program with FL controls added to it

glpuzzle:	A GLUT program with no modifications

fullscreen:	Demo of how to make your window toggle to fill screen

list_visuals:	necessary to debug X visual stuff

mandelbrot:	A true application, using panels built in Fluid

menubar:	Demo of how FL's menus work

shiny:		Demo of drawing FL's controls using OpenGL

forms:		An XForms program to demonstrate emulation

colbrowser:	Another XForms program that is actually useful