Commit Graph

3198 Commits

Author SHA1 Message Date
Greg Ercolano
6f2c8deaae Small doc tweaks to Fl_Tree's insert()/insert_above() docs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10080 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-23 21:12:49 +00:00
Greg Ercolano
a41a41583f Added some code examples to docs for
Fl_Tree::insert()
    Fl_Tree::insert_above()



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10079 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-23 21:05:17 +00:00
Manolo Gouy
4eee9f1f63 Mac OS: handle possible NULL return after screen capture attempt.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10078 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-22 20:39:21 +00:00
Manolo Gouy
4d5e10097e Mac OS: use the exact title bar font when printing window.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10077 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-21 14:04:43 +00:00
Albrecht Schlosser
ea23ff1b63 Small documentation fixups.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10076 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-21 14:00:43 +00:00
Albrecht Schlosser
1aba94f136 New method Fl::scheme_is(const char *name).
This is a convenience method to support easier implementation of
scheme-specific code in draw() methods and elsewhere.

Also improved Fl::scheme(const char *name) documentation.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10075 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-21 13:29:15 +00:00
Albrecht Schlosser
41b85d18a4 Fix strcasecmp() issues (again), see STR #2994.
This new temporary fix improves handling of strcasecmp() for
CMake-generated Makefiles (cmake -G "MSYS Makefiles" ..).

For some unknown reason (maybe other compiler flags?) this showed
lots of *warnings* again. A better fix (replacing direct calls to
strcasecmp() with fl_strcasecmp() or similar will follow later.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10074 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-21 11:07:43 +00:00
Manolo Gouy
c4576badb8 Mac OS: improved window printing when window title is longer than the window width.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10073 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-21 10:22:53 +00:00
Greg Ercolano
9ba8793018 Added missing non-const versions of find_clicked()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10072 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-21 03:59:45 +00:00
Greg Ercolano
abdc834705 o Added draw_item_content() to Fl_Tree_Item,
a volatile method that can be overridden by
  subclasses to take drawing control of tree item's content.

  This replaces the old "item_draw_callback()" technique
  added a few months ago as an ABI feature; turned out the
  new technique is a better way to go.

o The examples/tree-custom-draw-items.cxx demo adjusted
  accordingly.

o Added missing docs for some methods that had none,
  including label_[xywh]().

o Added related methods needed to implement this, including:
  	Fl_Tree_Item_Array::replace()
  	Fl_Tree_Item::replace()
	Fl_Tree::root(item)
        Fl_Tree::add() variations
	Fl_Tree_Item::drawbgcolor()/drawfgcolor()


o Carefully worked the FLTK_ABI_VERSION macros so as to be
  ABI compatible with 1.3.0.

o Verified 1.3.0 ABI compatibility with ABI Compliance Checker 1.99.8.5:
  http://ispras.linuxbase.org/index.php/ABI_compliance_checker




git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10071 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-20 21:23:24 +00:00
Greg Ercolano
aa71c2f6e1 Implements STR#3031:
* Adds '!' (FL_META) and '@' (FL_COMMAND) modifiers to fl_old_shortcut()
    * Also adds more specific docs on how to properly use



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10070 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-20 04:23:41 +00:00
Manolo Gouy
9668cea28b It was incorrect to keep in the system menu pointers to menu items become items move around.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10069 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-19 18:16:52 +00:00
Manolo Gouy
b4adb7c55d Mac OS: drawing to screen is now performed by direct drawing to windows (drawing was done to views before).
This eliminates the necessity to lock/unlock views that was tricky to do properly because of interaction with
undocumented system-performed locks.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10068 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-19 10:00:37 +00:00
Manolo Gouy
d7cc67d2f1 Mac OS: put idle processing under an alloc/release pair of an NSAutoreleasePool.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10066 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-18 16:28:59 +00:00
Manolo Gouy
f1bc3999d6 Two functions strcnt() with distinct prototypes where defined and only one was used,
causing a -Wunused-function warning. Also strcnt() is used in WIN32 only, so should not
belong to Fl_Native_File_Chooser_common.cxx that contains functions used across
platforms.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10064 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-16 16:10:19 +00:00
Manolo Gouy
a170c95787 Better way to force linking of Fl_Gl_Device_Plugin.o whenever Fl_Gl_Window.o is linked,
that doesn't use the "volatile" attribute (suggested by Albrecht).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10063 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-16 15:38:06 +00:00
Greg Ercolano
b849a1d2d9 ABI fixes.
These are problems "ABI Compliance Checker" found with the recent
Fl_Tree mods.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10062 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-16 00:58:58 +00:00
Manolo Gouy
9c6eb8be29 Mac OS: when computing a texture, save/restore the global fl_gc variable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10061 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-15 21:47:37 +00:00
Manolo Gouy
fe1793f13b Stepping back from r.10030: when you close any window it stops the program!
Try with test/editor, opening several windows, and closing one.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10060 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-15 14:02:57 +00:00
Manolo Gouy
3001cc1ab3 Added the static attribute to the 2 new functions strcnt() because all functions here must be static.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10059 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-14 18:17:24 +00:00
Pierre Ossman
9d2da70d04 32-bit properties are always represented by a long. Using
unsigned causes us to read the wrong values on x86_64.
The length is also defined as the number of 32-bit values,
not the number of bytes.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10058 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-14 15:57:45 +00:00
Manolo Gouy
452ce6e502 Added missing PMRelease() calls that match PMCreateXXX() calls (Mac OS before 10.5 only).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10057 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-14 12:49:44 +00:00
Greg Ercolano
6beedf4c28 Fix small memleak in Fl_Tree::show_self() [used only for debugging anyway]
and convert from malloc/free -> new/delete



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10055 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-14 01:08:40 +00:00
Greg Ercolano
bffc6b36ae Fix small memleak in parse_path() if user tries to add() paths like "" or "/".
Also shrunk implementation code.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10054 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-13 14:41:23 +00:00
Manolo Gouy
bcfdbe35e7 To force linking of Fl_Gl_Device_Plugin.o when Fl_Gl_Window.o is linked, an additional volatile
seems necessary, at least on Mac OS with optimized compilation.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10052 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-10 17:49:07 +00:00
Manolo Gouy
70d97dd76d A redraw of the GL window may be necessary before printing, at least with the glpuzzle demo on Mac OS.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10051 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-10 16:50:55 +00:00
Manolo Gouy
97448d6bca Restored the statement removed at r.9992 because it's required so Fl_Gl_Device_Plugin.o is loaded,
and so printing of GL windows works.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10049 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-09 20:11:45 +00:00
Manolo Gouy
e543d2c763 Cleaner definition under Mac OS of the fl_default_cursor global variable that doesn't hide its type.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10048 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-07 15:31:28 +00:00
Albrecht Schlosser
56b7434dd0 Remove unused variable warning.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10047 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-07 01:28:43 +00:00
Greg Ercolano
70865d6c10 Fixes STR# 3025; string overflow with large filter()s.
Replaced fixed arrays with dynamic strings.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10046 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-06 17:52:06 +00:00
Greg Ercolano
8ecd7a1abb Fix mem leak with 'oldcwd' if user hits 'cancel' button in browser..
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10045 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-06 01:01:52 +00:00
Albrecht Schlosser
738563f973 Fixed missing libdl dependency in CMake builds (STR #2977).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10042 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-03 16:42:21 +00:00
Albrecht Schlosser
642c475493 Fixed segfault in fl_set_fonts_xft.cxx when loading fonts not named
as expected (STR #2976).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10041 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-03 16:17:05 +00:00
Greg Ercolano
a4550ade99 * Fixes STR#3024 issue with Fl_Tree::find_item()
* Removes redundant const vs. non-const code
  using technique from Scott Meyers' book "Effective C++", 3rd Ed.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10038 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-28 22:26:22 +00:00
Manolo Gouy
c90f1904fa Mac OS text input: fixed minor problem when typing cmd-key while there's marked text.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10037 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-20 18:29: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
Manolo Gouy
34c69d3922 Fix for STR#3016: Fl_Input and Fl_Text_Editor have now the standard behavior when doing
drag-n-drop of text: if the dragged text is dropped in the widget it comes from, it's cut and pasted.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10031 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-13 16:28:38 +00:00
Pierre Ossman
f7e88141c3 Catch WM_QUIT and convert it to SIGTERM. This gives Windows
applications a convenient way to request termination, rather
than forcing it. And it does so in a way that mimics UNIX's
way, allowing code reuse.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10030 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-13 10:26:03 +00:00
Manolo Gouy
c65852122c Added informative comment to Fl_Paged_Device::print_window()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10028 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-11 14:31:27 +00:00
Manolo Gouy
0e8f2f786b Removed use of deprecated NSStringPboardType constant.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10025 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-10 12:07:09 +00:00
Manolo Gouy
b11af6e5e1 Simplified the code that supports application opening by dropping file onto icon.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10024 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-09 12:12:26 +00:00
Manolo Gouy
076de1c617 Improved window printing by using a vectorial font for the window title.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10023 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-08 16:16:24 +00:00
Manolo Gouy
1f6585c15a The FLView object is now released just after the setContentView message is sent.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10022 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-11-30 21:50:00 +00:00
Manolo Gouy
05dd61d4ee Fix STR#3010: Program can crash under Mac OS when a dialog window is closed
if the opening of this dialog window made the previous window to be redrawn.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10021 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-11-29 18:14:49 +00:00
Manolo Gouy
8f34835c17 Explicit what unicode characters represent keyboard modifiers in menus on the Mac platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10020 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-11-25 10:05:05 +00:00
Manolo Gouy
6b67e50cbe Bracket calls to timer callbacks with fl_lock_function()/fl_unlock_function() as occurs under WIN32 and X11.
This was also missing in the FLTK 1.1 carbon version.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10019 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-11-13 15:49:48 +00:00
Greg Ercolano
88cea3c82d o Added Fl_Tree::item_draw_callback(), letting one define a custom draw function for Fl_Tree_Item's.
o Added examples/tree-custom-draw-items.cxx to demonstrate its use.
o Fixed small doc error for recent Fl_Tree::get_selected_items()



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10018 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-11-10 04:33:44 +00:00
Greg Ercolano
33ab9cfed1 Fl_Tree:
o Added new method Fl_Tree::get_selected_items()
	o Modified Fl_Tree_Item_Array to usable in a general way (i.e. beyond Fl_Tree's internal use)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10016 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-11-06 20:44:47 +00:00
Greg Ercolano
52d395ad81 Fix problem with Fl_Tree::select_only() invoking select callbacks
before all other items have first been deselected.

Also: added some related demo code to tree-simple to demonstrate
'reselect' callbacks, where a callback can be invoked when an item
that's selected already is 're-selected'.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10015 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-11-06 20:12:08 +00:00
Manolo Gouy
2fd7086605 Improved the ordering of font names consistently grouping them by family (cont'd).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10014 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-10-30 13:36:16 +00:00