FLU - FLTK Utility Widgets



About   ::   Download   ::   Demos   ::   Screenshots/Description   ::   Documentation  ::  Todo


About

    This is just a small library of FLTK widgets that I have been working on for another application (VolSuite, if you're interested). They are available under the same LGPL-compatible license as FLTK. They are designed to work with FLTK 1.1.x and seem to work pretty well on most systems, although my testing has been far from exhaustive. There is a configure/Makefile included which should compile on most *NIX/OSX distributions, as well as Cygwin and MinGW. I wrote the configure script by hand so don't blame autoconf if it doesn't work, blame me. There are also project files for Visual Studio 6 and Visual Studio .NET, as well as a directory of many example files to exersize most of the widgets. I don't work on the widgets much anymore, but if you find bugs, have feature suggestions, or just a general question, feel free to contact me directly (jbryan at osc dot edu) or via the FLTK mailing lists (if it is a question whose answer everyone could benefit from).


Download

    version 2.13: (tar.gz) (zip)
    version 2.12: (tar.gz) (zip)
    version 2.11: (tar.gz) (zip)
    version 2.10: (tar.gz) (zip)
    version 2.9.2: (tar.gz) (zip)
    version 2.9.1: (tar.gz) (zip)
    version 2.9: (tar.gz) (zip)
    version 2.8.1: (tar.gz) (zip)
    version 2.8: (tar.gz) (zip)


Screenshots/Descriptions/Demos

    Following are a few screenshots from the example/test programs, and some simple descriptions of the various widgets with links to their individual class documentation as well as executable demos for Windows.


Flu_File_Chooser - A file/directory chooser that looks/acts much like the stock Win32 chooser, but spiffed up. You can use the functions flu_file_chooser() and flu_dir_chooser() much like their fl counterparts. This widget has been tested under linux, windows, and OSX and seems to be working well. However I will not certify it as bug-free, so if you find any, please let me know. Features include: Another screenshot...
And another...
<< Try the Windows demo >>



Flu_Tree_Browser - A hierarchical data browsing widget. Features per-entry customizable icons, animated expand/collapse, ability to embed widgets in each entry, numerous prettifying parameters, search- and sort-ability, node traversal routines, single and multi selection, drag and drop, more-than-you-need callback events, and probably a few other things that I am forgetting. Works pretty well with large numbers of entries, and the per-Node memory footprint is around 92 bytes.
<< Try the Windows demo >>


Three simple classes that extend Fl_Button:
<< Try the Windows demo >>



Two classes implementing your standard combo box (just like Fl_Choice except the "input" area is editable). The callback is done when the user picks an item or types in text. You can click and hold to choose an item, or click once to pop the menu open, scroll a bit, then choose an item.
<< Try the Windows demo >>



Flu_Dual_Slider - This class is essentially an Fl_Slider but with 2 control areas, one for the high value and one for the low value. This widget is extremely useful for manipulating a range of values instead of a single value.
<< Try the Windows demo >>


   

Five classes that exend the behavior of Fl_Group:
<< Try the Flu_*_Group Windows demos First Second Third >>



Flu_Progress - Yet Another Progress Bar. Derived from Fl_Slider, the only real difference here is the nifty way the color bar glides through the percentage.
<< Try the Windows demo >>



Flu_Progress_Meter - This widget uses Flu_Progress to report on the progress of an operation. It automatically estimates time to completion based on how frequently the progress is updated. An extra callback is invoked if the cancel button is pushed.
<< Try the Windows demo >>



Flu_Spinner - Your everyday spinner widget. This one is derived from Fl_Valuator and features an editable numeric input and customizable repeat delay and frequency for the spinner buttons. Click, click-and-hold, or click-and-drag to change the value.
<< Try the Windows demo >>


Flu_DND - This class extends the behavior of FLTK's Drag 'N Drop mechanism to provide a bit more flexibility in determining what kind of item is being dragged and whether it is allowed to be dropped. You can create specific DND objects, allowing classes derived from Flu_DND to discriminate between which objects are "allowed" to be dropped on them. In this demo, you can drag text from the input field or the "New" button to the browser and drop it in. You can drag an item in the browser, drop it in the browser and it moves to the bottom of the list. You can also drag an item from the browser to the trashcan, at which point the trash icon changes, and dropping it in the trash removes it from the browser. The trash icon does not seem to change in Windows, and the whole demo does not work correctly on OSX (don't know why...), but on Linux it works great!
<< Try the Windows demo >>



Flu_Chat_Buffer - A very simple browser displaying chat-like messages in different colors.
<< Try the Windows demo >>


    In addition to the above are the following widgets/files:

Documentation

    Doxygen style developer documentation is available here.