when building MacOS menus.
Previously, corresponding MacOS items were first built and then deleted.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10105 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
- 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
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
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
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
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
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
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
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
* 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
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
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
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
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
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
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
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
* 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
***************************************************************
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
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
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
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
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
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
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
(as per discussion on fltk.general Sep 24 2013, Subject: Potential problem in xutf8/utf8Wrap.c)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9994 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Skunk confirms compiles on two HP-UX variants as well as Sun.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9984 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
Mac OS 10.2 or below. This made no sense because the Copy/Paste implementation requires Mac OS 10.3.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9964 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fl_PostScript_Graphics_Driver::arc(int x, int y, int w, int h, double a1, double a2)
with w == 1 or h == 1, as reported in
http://www.fltk.org/newsgroups.php?s28125+gfltk.general+v28133
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9950 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
send instead FL_KEYBOARD as for regular text input. Fl::event_key() will return 0 during
palette events.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9927 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
after calls to Fl_System_Printer::translate() under MSWindows.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9917 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Some code is transferred from Fl_cocoa.mm thus reducing somewhat this very large source file.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9885 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Also, do a bit of defensive clipping of the generated font name, in case we run off the end of the name buffer (if the input font name is infeasibly long...!)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9874 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Moved top_window_offset() to being a member of Fl_Widget (was Fl_Window)
and moved its code near implementations of top_window() and window().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9872 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Docs for existing Fl_Widget::window() revised to clarify the difference between these two methods.
Docs for window() also moved from .H -> .cxx as per CMP (docs should be where code implementation is).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9871 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
it's realized that for consistency, the recently added window_offset() method
(a few days ago) should be renamed to top_window_offset().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9870 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Added new method Fl_Widget::window_offset(x,y)
to access the top-level window offset of the current widget.
Open to alternative names for the new method.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9866 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
gl_draw() would mess up the raster position
affecting the Mac overlay emulation in swapbuffer code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9865 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o Adjusted /*FALLTHROUGH*/ comments for clarity
o Added /* NOTREACHED */ comment for clarity
o Brace cosmetics
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9855 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Added a \todo marker for undocumented public 'push()' method.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9849 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
where Tab and Shift-Tab navigate off the table widget.
This enables the Tab key to work properly with:
o The test/table program; Tab can move focus to other input fields
o With the foo_v2.cxx example code in STR#2862, Tab can navigate
to/from the Fl_Input field
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9844 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o Added move_cursor(R,C,shiftflag). Needed allow Shift-Tab not to create a reverse selection.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9841 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Michael Baeuerle's patch to restore scandir like
operation on *nix like hosts that do not provide a
native scandir implementation, notably SunOS and
some others.
STR #2931 refers...
These changes are tested to have no effect on OSX,
Win32 or Linux systems, and indeed on any system that
has a working scandir implementation that configure
can detect.
Michael has released these changes to the fltk project,
and they are licensed under our usual conditons.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9832 ea41ed52-d2ee-0310-a9c1-e6b18d33e121