fltk/test
Greg Ercolano d36882e67e Adds horizontal scrollbar to Fl_Tree as an ABI 1.3.3 feature.
***************************************************************
NOTE: You MUST uncomment the FLTK_ABI_VERSION in Enumerations.H
      to use these changes.
***************************************************************

Also: separated tree size calculation from draw() code,
so that one can cause the tree to recalculate immediately
after making modifications to the tree by calling Fl_Tree::calc_tree().

Numerous improvements to docs for the tree as well, enough
to create a rather large diff.

Large internal changes were needed to do this properly.
The following was added to the CHANGES file:

	- Fl_Tree: various related changes:
	    o Added horizontal scrollbar
	    o Separated draw() and tree size calculation
	    o Added new public methods:
	        > resize()           -- uses optimized dim calc, avoids tree recalc
		> next_item()        -- added parameters: direction, visibility
		> extend_selection() -- added parameters, improved algorithm
		> calc_dimensions()  -- calc tix/y/w/h, tox/y/w/h and scrollbars
		> calc_tree()        -- calc tree_w/tree_h
		> recalc_tree()      -- schedules calc_tree()
		> first_visible_item(), last_visible_item(), next_visible_item()
		> first_selected_item(), last_selected_item(), next_selected_item()
	    o Added protected variables:
	        > _tix/y/w/h      -- tree widget 'inner' dimension
		> _tox/y/w/h      -- tree widget 'outer' dimension
		> _tree_w,_tree_h -- entire tree hierarchy width/height
	    o Deprecated:
	        > item_clicked() -- use callback_item() instead
		> first_visible() -- use first_visible_item() instead
		> last_visible() -- use last_visible_item() instead

	- Fl_Tree_Item: various related changes:
	    o Added Fl_Tree ptr: needed for auto-recalc when item modified directly
	    o Added new methods tree(), recalc_tree()
	    o Added new ctor that accepts Fl_Tree*
	    o draw() parameters changed to include tree size calculations
	    o Deprecated:
	       > ctor using Fl_Tree_Prefs parameter (Fl_Tree* version better,
	         and must be used for 1.3.3 ABI features to work correctly)
	       > next_displayed() -- use next_visible() instead
	       > prev_displayed() -- use prev_visible() instead

	- test/tree: added tests for newly added features




git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10034 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-15 18:59:02 +00:00
..
blocks.app/Contents mac os: added mark of support for high resolution in 3 test applications. 2013-06-24 16:05:12 +00:00
checkers.app/Contents mac os: added mark of support for high resolution in 3 test applications. 2013-06-24 16:05:12 +00:00
desktop
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 mac os: added mark of support for high resolution in 3 test applications. 2013-06-24 16:05:12 +00:00
adjuster.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
arc.cxx removed more 64 bits warning in curve/arc demos 2012-04-24 02:06:52 +00:00
ask.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
bitmap.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
blocks.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
boxtype.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
browser.cxx Added Fl_Choice to browser test program to let one 2013-03-23 21:32:34 +00:00
button.cxx button demo program: use fl_beep() function. 2012-06-02 08:59:45 +00:00
buttons.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
cairo_test.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
checkers.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
clock.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
CMakeLists.txt Fix STR #2504 (first part). Replaced HAVE _CAIRO by FLTK_HAVE_CAIRO and USE_CAIRO 2011-01-06 10:24:58 +00:00
colbrowser.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
color_chooser.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
connect.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
cube.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
CubeMain.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
CubeView.cxx Fixed build error in msvs because Fl ref to FULLSCREEN enum was not 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. 2012-04-05 05:12:30 +00:00
CubeView.h Fixed build error in msvs because Fl ref to FULLSCREEN enum was not 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. 2012-04-05 05:12:30 +00:00
CubeViewUI.fl
cursor.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
curve.cxx removed more 64 bits warning in curve/arc demos 2012-04-24 02:06:52 +00:00
demo.cxx Demo now runs Mac OS test applications both if they are bundled or unbundled. 2012-12-10 12:49:59 +00:00
demo.menu MacOS: create a bundled version of all example programs with fltk-config --post 2012-12-05 14:53:03 +00:00
device.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
doublebuffer.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
editor.cxx Documented how to make a Mac OS FLTK application launchable by dropping files on its icon. 2012-11-13 13:03:20 +00:00
fast_slow.fl
file_chooser.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
fl_jpeg_image.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
fonts.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
forms.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
fractals.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
fracviewer.cxx
fracviewer.h
fromdos.c
fullscreen.cxx Fix STR#2856: extend the fullscreen demo to show screen and work area sizes (cont'd). 2012-06-14 15:09:46 +00:00
gl_overlay.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
glpuzzle.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
hello.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
help.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
iconize.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
image.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
inactive.fl
input_choice.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
input.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
keyboard_ui.fl Fixed error with \ key under Mac OS 2012-03-09 21:24:57 +00:00
keyboard.cxx Added support for the additional key of ISO keyboards (aka 102-key keyboards) named FL_Iso_Key. 2012-03-26 16:54:54 +00:00
keyboard.h Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
label.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
line_style.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
list_visuals.cxx Fixes STR #2985: prevent memory leaks with XGetWindowProperty() 2013-09-20 03:36:02 +00:00
makedepend More dependency updates (makedepend files). 2011-02-06 14:41:45 +00:00
Makefile Fixes STR# 2973: collection of Sun compiler fixes to Makefiles. 2013-09-21 17:23:09 +00:00
makefile.wat Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
mandelbrot_ui.fl Integrated menu into demo resource branch for OS X. Indicating items that open more choices with ... 2011-01-02 03:50:54 +00:00
mandelbrot.cxx Fixed build error in msvs because Fl ref to FULLSCREEN enum was not 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. 2012-04-05 05:12:30 +00:00
mandelbrot.h Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
menubar.cxx The interface displays Fl_Menu_Bar / Fl_Sys_Menu_Bar class names. 2012-02-18 08:29:30 +00:00
message.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
minimum.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
native-filechooser.cxx Added "Pick Dir" button to allow checking of directory browsing. 2013-08-15 23:01:15 +00:00
navigation.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
output.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
overlay.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
pack.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
pixmap_browser.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
pixmap.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
preferences.fl Added text constants for preference names (project and application) for 2012-01-18 15:15:04 +00:00
radio.fl
README
resize.fl
resizebox.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
rgb.txt
rotated_text.cxx Added missing svn properties to test/rotated_text.cxx 2011-08-05 08:43:26 +00:00
scroll.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
shape.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
subwindow.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
sudoku.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
sudoku.ico
sudoku.rc
sudokurc.h
symbols.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
table.cxx Fixed Compiling with mingw-w64 (STR #2308). 2010-12-08 14:00:35 +00:00
tabs.fl
threads.cxx Fixes STR# 2973: collection of Sun compiler fixes. 2013-09-21 16:41:23 +00:00
threads.h Fixes STR# 2973: collection of Sun compiler fixes. 2013-09-21 16:41:23 +00:00
tile.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
tiled_image.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
trackball.c
trackball.h
tree.fl Adds horizontal scrollbar to Fl_Tree as an ABI 1.3.3 feature. 2013-12-15 18:59:02 +00:00
unittest_about.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
unittest_circles.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
unittest_images.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
unittest_lines.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
unittest_points.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
unittest_rects.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
unittest_schemes.cxx Add different selection_color()'s and tooltips to scheme test buttons. 2013-04-12 23:30:55 +00:00
unittest_scrollbarsize.cxx Replaced 10302 with 10301 for FLTK_ABI_VERSION 2012-11-06 20:46:14 +00:00
unittest_symbol.cxx Added some extra @@ tests for boundary conditions. 2013-03-27 19:21:22 +00:00
unittest_text.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
unittest_viewport.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
unittests.cxx STR# #2973: applied patch str_2973_r9958_sun-fix-errors-5.patch verbatim. 2013-09-16 20:25:14 +00:00
utf8.cxx Modifications to all LGPL headers for STR #2685. 2011-07-19 04:49:30 +00:00
valuators.fl

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