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
margin_width() -- controls margins around tooltip's text
margin_height() -- controls margins above and below tooltip's text
wrap_width() -- controls maximum width of text before wordwrapping is enforced
These are read-only for the current release,
and read/write as an ABI feature.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9510 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o ABI feature: change input and up/down buttons from 'private' to 'protected'
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9500 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
o Added fl_text_extents() to the 'Drawing things in FLTK' section
o Added 'see also' sections to all the text measuring functions in that section
o Added detail to fl_text_extents() docs regarding it not handling FLTK symbols,
as non-public comment for that method indicates.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9463 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
to implement some virtual functions of new graphics drivers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9427 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
Prevent situations where user finds themselves scrolled past bottom of tree.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9400 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
o new calc_item_height() -> const
o Added a needed ABI ifdef
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9380 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o Fix STR#2828 (E): {Vertical|Widget} Gap
o Moved Fabien's reselected methods to Fl_Tree_Prefs,
return method made const, doxygen, removed underbars from methods
(to follow general API)
o Widgets can now appear to the right of labels.
This can be controlled with item_draw_mode(FL_TREE_ITEM_DRAW_LABEL_AND_WIDGET)
o Cleaned up Fl_Tree_Item::draw(), Fl_Tree::draw()
o New methods:
marginbottom() -- [ABI feature] extra space below last tree element when scrolling
widgetmarginleft() -- [ABI feature] space to left of widget
usericonmarginleft() -- space to left of usericon
labelmarginleft() -- space to left of label
item_draw_mode() -- control how items, widget() are drawn
o Updated Fl_Tree docs, tree-elements.png
o test/tree: added sliders to test the above new features,
added "open all" and "close all" buttons
o Probably other stuff..
TODO: Fix "scroll-beyond-bottom" (STR#2796)
TODO: Fix other items in STR#2828
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9377 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
thread "Compilation error on windows VS 2010 (r9300)" of Mar 24, 2012.
Only the "static" attribute had to be fixed now, since the enum access
problem had been fixed before (r 9325).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9327 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
used for the pixmap background, and treats this color as transparent. FLTK assigns to this variable
a color unused by the processed pixmap. In theory this variable should be specific to each processed
pixmap. In practice, it's very unlikely that several values are needed. A new member variable is
added to the Fl_Pixmap object to hold this value. This member is made static if FLTK_ABI_VERSION
< 10302 for ABI compatibility. The correct thing, though, is for a non-static member.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9308 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
that users and devs can uncomment to enable ABI breaking features/fixes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9266 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fl_Paged_Device subclasses at the application level.
This is protected by #if FLTK_ABI_VERSION >= 10302
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9263 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
do-nothing to ease the construction of specialized Fl_Graphics_Driver subclasses at the application level.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9262 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Added _next_sibling and _prev_sibling to Fl_Tree_Item class to make
next_sibling() and prev_sibling() more efficient during item selection.
Used new FLTK_ABI_VERSION macro (as designed by Greg and Albrecht on fltk.dev) to protect the ABI breaking features.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9231 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The description of Fl_Overlay_Window ::draw_overlay() didn't appear in Doxygen,
and Fl_Overlay_Window::can_do_overlay() wasn't commented.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9198 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Replication: Run 'tree' demo, open '500 items' subtree, change 'connector width' to 100..
the "D2" and "ccc" buttons would overdraw the scrollbar. (Not the regular tree items)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9197 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
to honor maximum_size() as number of allowed characters (STR #2747).
This was a hangover from FLTK 1.1, where the number of bytes was equal
to the number of characters.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
A new event FL_SCREEN_CONFIGURATION_CHANGED is introduced.
Fl::add_handler() allows to register a callback for this event.
The unix/X11 implementation is still missing.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9087 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This introduces 3 new functions
static void Fl::screen_work_area(X,Y,W,H)
static void Fl::screen_work_area(X,Y,W,H,mx,my)
static void Fl::screen_work_area(X,Y,W,H,screen_no)
that compute screen work areas and are used by FLTK to position menu windows.
The Fl::x(),y(),w(),h() functions are made consistent across platforms: they return
the origin/size of the work area of the main screen (as far as possible, see below).
On the Mac OS platform, all screen functions reflect changes in screen number and
positions without requiring the application to restart.
On the X11 platform, I did not find an API to compute the main screen work area
in all conditions. What's used does compute the correct work area when there's
a single screen, but not when there are several, because it returns an area that
encompasses all screens. The implemented workaround is that Fl::x(),y(),w(),h()
and Fl::screen_work_area(X,Y,W,H,0) return the exact work area when there's
a single screen, and return the full screen area when there are several.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9084 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
with or without declaring the FL_INTERNALS preprocessor variable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9035 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This had been previously done in r.8282 and r.8286 without accounting for
the existence of the Fl_File_Chooser.fl file. With this commit, files
Fl_File_Chooser.{cxx, H} are properly generated by Fl_File_Chooser.fl
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8785 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Remove FL_EXPORT from fl_clip_region() since this is an inline function
on all platforms (and issued a warning when building fltkdll with MS VC++).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
main screen's work area (system-occupied space excluded); Fl::screen_xywh() functions
instead compute the full width and height of a screen.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8724 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
non-active_r() widgets"). This must be investigated further, and if necessary,
solved differently. STR #2420 will be reopened...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8615 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Added Fl_Window::decorated_w() and Fl_Window::decorated_h() that return the size
of a window with its title bar and frame.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8593 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
In particular, I have added a new function to src/fl_utf.c called fl_ucs_to_Utf16() which
converts a single 32-bit Unicode value into one (or more) UTF16 cells.
This is needed in the win32 char-by-char text width() logic, and I suspect may also be useful in the OSX code in some places.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8585 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Useful when deleting a window because subwindows share their xid with their parent
window (unlike under MSWIn or Xlib), so subwindows should not delete their xid.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8540 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
"warning: 'class Fl_Device' has virtual functions but non-virtual destructor"
on Mac OS X.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8529 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
to be recovered by the event loop. Before main() is called, only fl_mac_os_version is
initialized.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8488 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Mac-specific initializations will be done even before main() is started.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8487 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
class to prepare for the future definition of graphics drivers that fully deal with text measurement.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8442 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
title (STR #2562).
Added a test case for disabling the hotspot and using a window title
to test/ask.cxx.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8417 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
(i.e. non-XFT) X11 builds.
This appears to be working now, though I can not test it fully, so we
need more feedback.
In particular the setting of the dx param is certainly wrong, but
works fine in general cases. I think.
Also, I suspect it may behave badly in the face of RtoL text rendering
but I think we have other problems in that area anyway...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8399 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
and a public getter to it: Fl_Graphics_Driver::color().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8384 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
displays correctly that #include <x.H> is needed for this class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8381 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
at top of docs that was confusing users into #include'ing the wrong file.
Problem described here: http://fltk.org/newsgroups.php?gfltk.development+v:11617
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8377 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
class Fl_Graphics_Driver. This is undesirable because it obliges a user (e.g., Mingodad
and his PDF driver) who develops a new graphics driver to change the FLTK source code.
Just declaring font() public instead of private is enough.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8367 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
page is finished. Thus, we now duplicate this data when the output is a printer, so the
caller of the function does not have to take into account this Mac OS specificity.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8349 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fl_Tree::labelsize() -> item_labelsize() -- TO AVOID COLLISION WITH Fl_Widget::labelsize()!
Fl_Tree::labelfont() -> item_labelfont() -- TO AVOID COLLISION WITH Fl_Widget::labelfont()!
Fl_Tree_Prefs (internal) changes:
Fl_Tree_Prefs::fgcolor() -> labelfgcolor() -- for consistency with above
Fl_Tree_Prefs::bgcolor() -> labelbgcolor() -- for consistency with above
Fl_Tree_Prefs::selectcolor() removed -- uses Fl_Widget::selection_color() instead
Fl_Tree_Prefs::inactivecolor() removed -- was unused; inactive color procedurally calculated
Other Fl_Tree mods:
o Fixed bug with select_all(item) and deselect_all(item)
(they were not limiting themselves to children of specified item)
o Fixed bug with item not drawing in its /own/ bgcolor when item selected
o Fl_Tree uses the Fl_Widget::selection_color()
o All methods that deal with 'font types' changed int -> Fl_Font
o All methods that deal with 'font sizes' changed int -> Fl_Fontsize
o Added needed methods to Fl_Tree for accessing colors:
item_labelfgcolor() -- access default fg color used for new items
item_labelbgcolor() -- access default bg color used for new items
tree_connectorcolor() -- access the connector line color
o Small doxygen comment adjustments and general clarifications
o test/tree demo modified to include testing of new label color methods, cleanup
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8340 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Applied Manolo's patch, modified to use FL_INTERNALS for
explicit request in user code to expose class Fl_X.
Also changed X11 and Mac OS to use FL_INTERNALS.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8289 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This constructor has a 3rd argument, the size of the array holding the in-memory PNG image.
This allows the constructor to check for errors in the image.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8287 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
by default now. This removes a TODO clause.
Fl_Native_File_Chooser: removed the hack that added the "Show hidden files" button, and
made the "file already exists" warning message localizable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8282 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
as discussed in fltk.development ("Fl_X not exported on mac in 1.3").
Tested OK with configure+make and CMake.
At this point, the FL_X class remains to be hidden on the WIN32 platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8268 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
firstRectForCharacterRange of the NSTextInput protocol.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8228 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
so end users only employ the system-independent Fl_Printer class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
with Fl_Widget::type(). Added a setter function Fl_Device::class_name(const char *).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8190 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
client applications without including Mac OS system headers, with a gain in speed of
compilation and portability. The source files of all FLTK libraries must now be compiled with
-DFL_LIBRARY under Mac OS X. Make, CMake and Xcode project support files
have been modified accordingly.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8113 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
for middle-mouse paste and DnD, and "clipboard" for copy/paste.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8105 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
New default behavior is what most users expect; hitting Tab navigates over the widget.
Fl_Input modified to support the new flag.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8068 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
conformed Fl_Input keystrokes to native environment (much research went into this, citations included).
Tested editing functions on all three platforms. Doxygen docs updated.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8067 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Also, makes clear that the code is ready to deal with any encoding, not just fixed-length ones.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8040 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
where they are better located. Small reorganization of device-related include files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8017 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
data is interpreted according to CP1252 and transcoded to UTF-8. By default, a warning
message is displayed when the input file was transcoded. This default behavior can be
modified by changing a function pointer. A flag has been added to the Fl_Text_Buffer object
that informs the caller if the input file was transcoded to UTF-8.
The Fl_Text_Buffer.cxx file contains some preliminary code that could be used in the future
to input other encodings provided they are fixed-length (e.g., all ISO-8859-* character sets,
UTF-16). This code is not compiled at this point.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8004 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o stray \code in the docs for Fl_Align
o smaller latex/pdf widget screenshot sizes for Fl_Value_Input/Output
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7989 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Summary:
Get rid of eps files,
change all doxygen '\image latex' references to eps files to png/jpeg instead,
convert doxygen images from gif -> png (to support html+latex).
Actual operations:
1) svn remove *.eps
2) convert all gifs -> png
3) svn remove *.gif
4) svn add *.png
5) For jpeg/png images, change all \image latex foo.eps .. -> \image latex foo.[jpg,png] ..
6) For gif images, change all \image html foo.gif .. -> \image html foo.png
and (harder to do): change \image latex foo.eps .. -> \image latex foo.png ..
7) Remove EPSFILES macro from documentation/Makefile
and remove eps related dependencies that were added recently
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7981 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1) Hitting ENTER to select an item should make sure the item is
displayed if off-screen (Mayank Malik, pointing out similar behavior in Fl_Browser_)
2) show_item() without a positional argument will invoke show_item_top()
if the item is off-screen.
3) Added new method displayed() (to match Fl_Browser_'s)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7893 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
- added text about color(0xRRGGBBII) call to common.dox and drawing.dox
- added doxygen comments for fl_show_chooser(), including image.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7770 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
part of the confusion was the main page link to
Common Widgets and Attributes/Colors actually went to
Drawing Things in FLTK/Colors therefore making it harder
to find information.
Common Widgets and Attribute/Colors now simplified
Drawing Things in FLTK/Colors now expanded
FLTK Enumerations/Colors now simplified
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7762 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o Docs added for set_selection(), get_selection(), is_selected()
o Renamed confusing variable names for get/set selection functions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7751 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o Added docs for the TableContext enum members (including CONTEXT_TABLE)
o Fix another example indent issue.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7745 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
harmonised parameter names in Fl.H and Fl_arg.cxx and reworked
doxygen comments to make them a bit clearer. More work required.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7729 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
- Latin characters (unicode <= 17F) and a few other symbols, among which the € (Euro),
are output using vectorial fonts
- All other characters are output as a bitmap copy of their offscreen rendition.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7697 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
of widgets if the widget's index is known. Thanks to Greg for the
patch. See also STR #2409.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7693 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
* open() / close() now can invoke the callback().
New method callback_reason() lets one determine the cause.
(Used FLU's tree for reference on this)
* new Fl_Tree methods:
> item_pathname()
> show_item(), show_top(), show_middle(), show_bottom().
> next_selected_item() -- loop through the selected items.
> callback_item() -- the item that caused the callback
> callback_reason() -- reason the callback was invoked
FL_TREE_REASON_SELECTED -- item was selected
FL_TREE_REASON_DESELECTED -- item was de-selected
FL_TREE_REASON_OPENED -- item was opened
FL_TREE_REASON_CLOSED -- item was closed
> position()
> display()
* new Fl_Tree_Item methods:
> find_child_item() -- searches children for a path
> find_item() -- searches self and children for a path
> next(item) -- loop forward through tree
> prev(item) -- loop backward through tree
> first_selected_item()
> next_selected_item()
> x(), y(), w(), h()
* deprecated:
> item_clicked(). Use callback_item() instead
* the 'docallback' optional integer argument for all methods
is now back to 0 or 1 only. (Other values became unnecessary
when above new callback() behavior was defined)
* test/tree has new "Test Callback Flags" button to test the
'docallback' flags for eg. open/close/select/deselect
to make sure no bugs creep in.
* INTERNAL: added free_path() to free special path array created by parse_path().
* Various docs strengthened:
* How to use first()/next() and last()/prev() to walk tree
> made sure more method's options use \param[in]
> Added more \see references
* Moved several implementations from .H -> .cxx
* Added autoscroll to keyboard nav and mouse drags
* test/unittests: added Fl_Tree to scrollsize test
TODO:
o Horiz scroll bar (see Johannes Schock's email re. additions he sent)
o Need to allow keyboard nav to move focus to child FLTK widgets
o Fix fast-selections so that no gaps are left behind.
(Select all items from the last selected item to the current)
o Investigate non-default values of when() causing odd behavior.
(See the tree demo's when() pulldown..)
* tree demo modified to include top/mid/bot buttons that test the above.
* Keyboard navigation added:
Up/Down -- move focus
Left/Right -- closes/opens tree item in focus
Spacebar -- toggle selection state of item in focus
Enter -- selects the item in focus, deselecting all others
Tab/Shift-Tab -- change widget focus
* All Fl_Tree select() and deselect() methods now return a value
that indicates if the item's state was changed.
* Fixed focus box drawing (focus box resides more precisely within item's box)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7691 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
- renamed ide/unsupported to ide/deprecated
- fixed ide/vc2005 to make it compatible with VC++ 2010 Express
(this was not really what we wanted, but I couldn't convert
the older IDE files with VC++ 2010 Express)
- FL/Fl_Device.H: fixed missing FL_EXPORT for building the FLTK dll
(STR #2393).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7666 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The method was extraneous; item->parent() should be used instead.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7635 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
these supercede the old fl_wcwidth() code in src/xutf8/fl_wcwidth.c.
also added corresponding declarations to FL/fl_utf.c, and updated
src/Fl_Text_Buffer.c to enable the call to fl_wcwidth()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7551 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
fixes to handle incorrect counting of UTF-8 characters by checking
for complete UTF-8 encodings in char* rather than char by char.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7527 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Also added new function gl_texture_pile_height(int) that sets the height of this pile.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7491 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
they can be set on all platforms to avoid platform-specific end user code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7480 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
to "core" fonts when XFT is selected. This allows contexts that need
bitmapped fonts (e.g. GL) to access a bitmap core font, even though
XFT2 does not generally provide bitmap font access.
STR #2214 refers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7474 ea41ed52-d2ee-0310-a9c1-e6b18d33e121