Commit Graph

711 Commits

Author SHA1 Message Date
Greg Ercolano
9b5f1d78e1 Fixes Micha's two NetBSD warning msgs (posted on fltk.general 12/16/13):
tree.cxx: 1443: warning: passing 'double' for argument 1 to 'void Fl_Tree::scrollbar_size(int)'
    tree.cxx: 1440: warning: passing 'double' for argument 1 to 'static void Fl::scrollbar_size(int)'



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10036 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-18 02:14:02 +00:00
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
Greg Ercolano
bedb7fd6f0 Fixes STR# 2973: collection of Sun compiler fixes to Makefiles.
o Adds $(CXXFLAGS) to $(CXX) commands
    o Implements older, more backwards compatible Bourne shell test(1) syntax for equality tests (= vs ==)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9981 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-21 17:23:09 +00:00
Greg Ercolano
2082d7e197 Fixes STR# 2973: collection of Sun compiler fixes.
Applied str_2973_r9979_sun-fix-warnings-7.patch (with small mods)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9980 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-21 16:41:23 +00:00
Greg Ercolano
2fc6c3a39b Fixes STR #2985: prevent memory leaks with XGetWindowProperty()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9979 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-20 03:36:02 +00:00
Greg Ercolano
67ed1a8da9 STR# #2973: applied patch str_2973_r9958_sun-fix-errors-5.patch verbatim.
src/Fl_Tree_Item.cxx -- solve: "Fl_Tree_Item.cxx",    line 614: Error: Initializing int& requires an lvalue.
    FL/Fl_Preferences.H  -- solve: "FL/Fl_Preferences.H", line 196: Error: Fl_Preferences::RootNode is not accessible from 0
    FL/Fl_Tree_Item.H    -- solve: "Fl_Tree_Item.cxx",    line 614: Error: Initializing int& requires an lvalue.
    test/unittests.cxx   -- solve: "unittests.cxx",        line 95: Error: The type "UnitTest*[]" is incomplete.
            


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9978 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-16 20:25:14 +00:00
Greg Ercolano
33933f8c13 Added "Pick Dir" button to allow checking of directory browsing.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9957 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-08-15 23:01:15 +00:00
Manolo Gouy
b94c8b0d73 mac os: added mark of support for high resolution in 3 test applications.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9945 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-06-24 16:05:12 +00:00
Albrecht Schlosser
62ae23272b Add different selection_color()'s and tooltips to scheme test buttons.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9877 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-12 23:30:55 +00:00
Greg Ercolano
85c1464715 Added some extra @@ tests for boundary conditions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9852 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-03-27 19:21:22 +00:00
Greg Ercolano
fa75731c94 Fix for fl_measure() missing drawsymbol flag
Added comments
Added 3 line test.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9851 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-03-27 19:16:48 +00:00
Greg Ercolano
ceb12d51ab Added unittest for checking symbol rendering and fl_measure() with symbols.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9850 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-03-27 18:32:41 +00:00
Greg Ercolano
449f36b6f8 Added Fl_Choice to browser test program to let one
change the browser type(), allowing testing of the
different browser modes..



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9847 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-03-23 21:32:34 +00:00
Albrecht Schlosser
f2dc7f90ff make schemes test window resizable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9835 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-03-10 15:14:03 +00:00
Greg Ercolano
4a2e8fa883 Added schemes test to unittests app, to check fltk schemes for artifacts.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9834 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-03-08 20:37:00 +00:00
Manolo Gouy
d9666eb8c9 Demo now runs Mac OS test applications both if they are bundled or unbundled.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9747 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-12-10 12:49:59 +00:00
Manolo Gouy
598e2cb63b MacOS: create a bundled version of all example programs with fltk-config --post
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9736 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-12-05 14:53:03 +00:00
Manolo Gouy
155e099f4a Documented how to make a Mac OS FLTK application launchable by dropping files on its icon.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9718 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-11-13 13:03:20 +00:00
Matthias Melcher
78039ecb55 Replaced 10302 with 10301 for FLTK_ABI_VERSION
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9706 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-11-06 20:46:14 +00:00
Manolo Gouy
a413dd4340 Fix STR#2856: extend the fullscreen demo to show screen and work area sizes (cont'd).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9605 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-06-14 15:09:46 +00:00
Manolo Gouy
483d064559 Fix STR#2856: extend the fullscreen demo to show screen and work area sizes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9604 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-06-14 14:36:11 +00:00
Manolo Gouy
0cfd9a1a23 button demo program: use fl_beep() function.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9570 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-06-02 08:59:45 +00:00
Greg Ercolano
df5c8cc76f Fixed some keynav problems:
No focus, hitting down would skip first item
    Enter key to toggle was falling through to other widgets
    Removing an item that has focus clears item focus (to prevent wild ptr)

Added new methods:
	Fl_Tree::get_item_focus()
	Fl_Tree::first_visible()
	Fl_Tree::last_visible()
	Fl_Tree::is_vscroll_visible()

Simplified + fixed Fl_Tree_Item::next_displayed()

Fixed Fl_Tree_Item::visible_r(), was skipping item if it was a closed branch.

tree demo: fixed button ordering for "Test Suggestions" button



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9555 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-05-29 13:34:39 +00:00
Greg Ercolano
31f320e2c6 o Added new 0xffffffff 'transparent' color behavior for the item's bg color;
with this as the default color, Fl_Tree::color() can control the tree's background.
  Tests added to the test/tree application.

o test/tree.fl modified:
    o Added a 'Test Suggestions' button to document various tests
    o Added tests for new 'transparent' color behavior
    o Added test for STR#2832 to check if items can be drawn to the /right/ of child widgets

o Added new methods to Fl_Tree_Prefs:
    item_labelfont()     -- obsoletes labelfont()
    item_labelsize()     -- obsoletes labelsize()
    item_labelfgcolor()  -- obsoletes labelfgcolor()
    item_labelbgcolor()  -- obsoletes labelbgcolor()

o Added 'Fonts and Colors' section to Fl_Tree docs

o Fl_Tree_Item ABI feature added: using bitflags instead of chars
  to keep the class small, as it gets instanced a lot. (fast + LIGHT)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9478 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-05-09 21:26:32 +00:00
Greg Ercolano
474feee1db o Added FL_TREE_ITEM_HEIGHT_FROM_WIDGET option to item_draw_mode()
to allow widgets to control the size of items in the tree
  (instead of vice versa).

o Added item_draw_mode(int) to allow for easier bitflag maintenance,
  since enums don't seem to be typesafe yet.

o Tree demo modified to demonstrate this feature.
  An important feature for adding large widgets to tree items.
  Will probably add an example, 'tree-of-tables' to demo this usage.

o Small doc fixes.

o Had to rename FL_TREE_ITEM_DRAW_WIDGET_ONLY to FL_TREE_ITEM_DRAW_DEFAULT.
  Its meaning for the bit fields changed when new bit fields were added.
  (The prev name just didn't make sense in the new context. Since it was
  just a few svn commits old and an unreleased ABI feature, it shouldn't
  affect anyone not in R&D)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9404 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-27 02:03:48 +00:00
Greg Ercolano
db73861e7c allow 'open all' button to include root.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9401 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-24 04:47:49 +00:00
Fabien Costantini
88cbdd46f7 removed more 64 bits warning in curve/arc demos
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9392 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-24 02:06:52 +00:00
Fabien Costantini
636885f28c removed 64 bits warning in arc demo
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9391 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-24 02:03:10 +00:00
Greg Ercolano
d07ef80207 Various Fl_Tree enhancements:
o Added keyboard navigation table
    o Added Shift-Click to extend selection, Ctrl-Space to toggle selection, Enter key toggle
    o Added protected extend_selection(from_item,to_item)
    o Cleanup of Fl_Tree::handle()
    o Limit ^A to multi-select mode only
    o Disable focus box in SELECT_NONE mode
    o test/tree: changed default mode to 'multiselect' (most often needs testing)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9385 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-23 16:31:51 +00:00
Greg Ercolano
67ea785bfd Forgot tree.fl (should have been in r9377)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9379 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-22 13:55:17 +00:00
Greg Ercolano
055a7d47ed STR# 2827 cont'd:
> 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-19 08:50:04 +00:00
Fabien Costantini
1d3f79bc23 Made homogen the scope of the new fl_tree enum with previous Fl_Tree_Reason enum.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9350 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-16 03:29:56 +00:00
Fabien Costantini
b31264e473 STR 2827 implementation. Implemented Reselect code and related API all 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-15 20:11:36 +00:00
Greg Ercolano
3cf006f5c3 Solves STR #2681.
Added ABI-breaking Fl_Table::scrollbar_size() with new ABI #ifdefs.
tests/unittests program modified to test this feature if enabled.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9345 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-14 20:35:56 +00:00
Fabien Costantini
8809c5d65d 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.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9325 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-05 05:12:30 +00:00
Manolo Gouy
0b6f546b0f Added support for the additional key of ISO keyboards (aka 102-key keyboards) named FL_Iso_Key.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9303 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-26 16:54:54 +00:00
Manolo Gouy
08ce2e07d3 Fix STR#2641: true fullscreen windows that cover all their screen including menu bar, task bar, dock.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9299 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-23 16:47:53 +00:00
Manolo Gouy
01861dd47b Fixed error with \ key under Mac OS
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9269 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-09 21:24:57 +00:00
Manolo Gouy
34a045f2e3 The interface displays Fl_Menu_Bar / Fl_Sys_Menu_Bar class names.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9241 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-02-18 08:29:30 +00:00
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
Albrecht Schlosser
82b6725d16 Added text constants for preference names (project and application) for
easier testing (removed duplicated strings).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9229 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-01-18 15:15:04 +00:00
Manolo Gouy
4be97ea19c Fixed the use of FL_SUBMENU_POINTER in Fl_Sys_Menu_Bar objects (Mac OS-specific).
Modified the menubar demo program to exercise the Fl_Sys_Menu_Bar class.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9218 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-01-11 16:16:31 +00:00
Albrecht Schlosser
b9e2720061 Added missing svn properties to test/rotated_text.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8915 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-08-05 08:43:26 +00:00
Greg Ercolano
4f4a8fc3c7 Modifications to all LGPL headers for STR #2685.
(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-07-19 04:49:30 +00:00
Greg Ercolano
6fa9df7e90 Fixing STR #2679; Fl_Table makes use of FLTK's Fl::scrollbar_size() global.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8863 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-17 16:40:41 +00:00
Greg Ercolano
46d9c45536 Added Fl_Table to scrollbar resize unittests
as prep for resolving STR #2679.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8862 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-16 03:50:58 +00:00
Matthias Melcher
07cb1667ad Formatting
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8815 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-06-16 15:11:18 +00:00
Matthias Melcher
189a563ef0 Fixed Copyright (another try - sorry!)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8812 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-06-16 15:05:00 +00:00
Matthias Melcher
a998fa5114 Fixed Copyright (damn, why does it not updae the ID?)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8811 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-06-16 15:02:55 +00:00
Matthias Melcher
fb1f981c39 Fixed Copyright (2
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8810 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-06-16 15:02:14 +00:00