=pod

=for license Artistic License 2.0 | Copyright (C) 2009 by Sanko Robinson

=for author Sanko Robinson <sanko@cpan.org> - http://sankorobinson.com/

=for git $Id: TODO.pod db3382a 2010-02-09 21:31:40Z sanko@cpan.org $

=head1 NAME

FLTK::Todo - TODO list for Perl module FLTK

=head1 High priorities

=over

=item * FLTK::Theme

=item * Complete FLTK::TextBuffer

=item * Complete FLTK::TabGroup

=item * Convert all enum and built-in types to fake tied vars?

=item * Document internals and write regression tests

=item * Make sure all examples in POD (c+p from the fltk2 docs) actually work

=item * Creating new callbacks/timeouts leaks memory

=item * remove_timeout(...) doesn't...

=item * Thread safety

=item * Finish the following widgets/classes

=over

=item FLTK::List

=item FLTK::MenuSection

=item FLTK::Mutex

=item FLTK::RecursiveMutex

=item FLTK::SharedImage

=item FLTK::ShortcutAssignment

=item FLTK::SignalMutex

=item FLTK::Slider

=item FLTK::StatusBarGroup

=item FLTK::StringArray

=item FLTK::StringHierarchy

=item FLTK::StringList

=item FLTK::Style (partially complete)

=item FLTK::StyleSet

=item FLTK::TabGroup

=item FLTK::TabGroupPager

=item FLTK::TextBuffer

=item FLTK::TextDisplay

=item FLTK::TextEditor

=item FLTK::ThumbWheel

=item FLTK::TiledImage

=item FLTK::ToggleButton

=item FLTK::ToggleItem

=item FLTK::Tooltip

=item FLTK::ValueInput

=item FLTK::ValueOutput

=item FLTK::ValueSlider

=item FLTK::Widget (partially complete)

=item FLTK::Window (partially complete)

=item FLTK::WizardGroup

=item FLTK::WordwrapOutput

=item FLTK::xpmFileImage

=back

=back

=head1 Short term goals

=over

=item * Compsite/Mega Widget API

=item * Remove all anti-Perl-isms

=item * C<has_timeout()>, C<remove_timeout(...)>, C<repeat_timeout(...)> do
not work because the SV* I shove into the callback is not equal from the
perspective of C++.

=item * C<remove_check(...)>, et. al do not work for the reasons stated above

=item * C<remove_idle(...)>, et. al do not work for the reasons stated above

=item * C<add_fd(...)>, C<add_fd(...)>, and C<remove_fd(...)>

=item * C<lock()>, C<unlock()>, C<awake([...])>, C<thread_message()>,
C<in_main_thread()>

=item * C<add_event_handler>

=item * Subclass-able L<Image|FLTK::Image>

=back

=head1 Long term goals

=over

=item * None yet

=back

=head1 Eventually...

=over

=item * None yet

=back

=cut
