3207 Commits

Author SHA1 Message Date
Manolo Gouy
b01cbd577b Improvement of the Fl_Sys_Menu_Bar class in relation to STR #3047:
- menu shortcuts, including function keys, are correctly handled
- the mac system menus and FLTK menus share Fl_Menu_Item's, thus 
many member functions of the parent Fl_Menu_ class apply equally
to an Fl_Sys_Menu_Bar.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10099 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-10 22:24:27 +00:00
Albrecht Schlosser
ef952dfa53 Fix crash when Fl_Window::flush() is called before show() (STR #3028).
The fix is twofold:
 (1) if Fl_Window::flush() is called, this is ignored silently
 (2) if Fl_Window::make_current() is called directly, but the window
     is currently not shown(), then the program will be terminated
     with an error message.
The latter is necessary because returning from make_current() would
leave the program in a state where it would expect to have a valid
drawing context.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10095 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-07 00:09:52 +00:00
Pierre Ossman
74aeae38cb Revert the revert in r10060, reinstating commit r10030.
The reason the code was problematic was because of r4589, where
a call to PostQuitMessage() snuck in. As we could not find a
valid reason for that PostQuitMessage(), it has been removed and
FLTK is now again properly responsive to WM_QUIT messages.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10094 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-05 09:38:22 +00:00
Greg Ercolano
1adf939c59 Fixes STR #3040
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10089 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-31 15:52:56 +00:00
Manolo Gouy
e19ea8eb33 Mac OS: have Fl_Paged_Device::print_window() support all devices.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10088 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-30 07:10:37 +00:00
Greg Ercolano
ebd1e106aa Fixes STR#3041, int -> size_t
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10086 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-27 02:16:24 +00:00
Albrecht Schlosser
f7ac3b417c Fix potential memory leak in text buffer (STR # 3035).
Also small code formatting, remove one redundant statement.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10083 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-25 23:47:44 +00:00
Albrecht Schlosser
1d069a1a95 Remove extraneous parentheses, fix STR #3036.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10082 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-25 23:04:36 +00:00
Greg Ercolano
1ba5c254f5 More Fl_Tree doc improvements.
Only docs changed here, no code changed..
one method's definition moved to match similar method organization.

Some redundant docs (for const vs. non-const) changed
by referring the non-const method to the const one, to reduce size.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10081 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-24 19:03:15 +00:00
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