./TODO file that came with the original version of FNFC.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9629 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
This helps user's clicking accuracy;
clicks on lower part of the down arrow's geoemtry was being missed.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9554 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
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
doesn't include drawing the label, so include drawing that explicitly.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9414 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o Nav keys were being used even if widget didn't have focus
o When Fl_Input was used as immediate child, wasn't redrawing properly
when typing into input fields. (noticed problem with test program in STR# 2832)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9413 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
> A user click on the tree's background does a 'deselect all'
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9359 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
> 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
o Don't draw FLTK widgets outside tree's viewport.
o Added tree-as-container.cxx example program, demos tree
w/50k tree items each with 6 widgets (300k total)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9356 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
PLEASE check this is OK, I don't have access to test systems here...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9311 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
by compute_macKeyLookUp() in file src/Fl_get_key_mac.cx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9270 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
> Added docs to utf8_input_filter() function
> Documented its variables
> Added comments to its code so it can be better understood in the future.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9260 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
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
(Adding 60k items took forever, and drawing them
caused wraparound drawing issues and scrolling slowness)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9216 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Regression was from svn r8630 (STR #2615), adding fl_line_style() settings
that turned out to cause side effects on fl_round_box drawing and others.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9211 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
have been re-using "borrowed" code with inappropriate licensing.
NOTE: It is not expected that this makes any real difference, it
is assumed that all modern hosts actually provice their own
scandir implementation and that the code (now excised) was orpahned
a long, long time ago...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9210 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
Thanks to Mathieu Peyrega for the patch in fltk.general [1] on Nov 14, 2011,
although I implemented it differently.
[1] http://www.fltk.org/newsgroups.php?gfltk.general+v:33946
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9188 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Removed some hardcoded arrays in favor of dynamic,
and created a new macro with 32768 and used it for remaining pathname arrays.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9174 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
causing change in row/col selection of Fl_Table_Row.
As reported by David Lopez in fltk.general on 11/09/2011, Subject: Popup menu over Fl_Table.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9172 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fixed saving of the paper size preference for the "Print to File" printer.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9158 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
"About ..." item of the application menu. This issue appeared with OS X 10.7.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9152 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
using the keyboard (space or shortcut) (STR #2748).
This regression was introduced in svn r7826 and released with FLTK 1.3.0 (!)
to add visual feedback for Fl_Button's using the keyboard (STR #2372).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9149 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
window failed under OS X 10.7. It's replaced by a simpler, OS version-independent procedure.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9144 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
entire window area instead of the top left corner only to find the
screen to put the window on (Windows only).
Note that this *should* be changed to use the work area instead of
the screen area, as discussed in fltk.development.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8983 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This is not the whole story, but is better.
We were messing up the initialisation of num_screens on Win32 in that
it was being set to a non-zero value by a call to
GetSystemMetrics(SM_CMONITORS) but was then subsequently incremented
even higher by each iteration call to the screen_cb(...) function,
so what we were storing for the screen rectangles was a bit messed up.
Under fltk-1.1, the code used to explicitly reset num_screens to zero
before starting to iterate the screen_cb(...) function, so that worked OK.
I have sort-of restored that behaviour, and removed the (now redundant)
call to GetSystemMetrics(SM_CMONITORS) since we *always* enumerate the
monitors now to get the per-screen DPI values out.
I've also put in a commented out stub where we could store the per-screen
work-area, which it seems we do also need now, though I have not yet
contrived to actually implement that.
Volunteers welcomed...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8981 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
if any, hosts actually use this code now.
Will only trigger on hosts using gcc though, so may not help at all...
This is part of trying to remove this (possibly) not fltk license
compliant code from the codebase.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8913 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Setting some flags in a terminating Fl_Menu_Item (one with
a NULL label/text/name) caused an endless loop.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8866 ea41ed52-d2ee-0310-a9c1-e6b18d33e121