- Page Adding and Extending Widgets
Clarify Fl_Window::damage(uchar) handling - seems confused/wrong? ORing value doesn't match setting behaviour in FL_Widget.H!
Clarify Fl_Widget::test_shortcut() explanations. Fl_Widget.h says Internal Use only, but subclassing chapter gives details!
- Module Box Types
- Description of box types is incomplete. See below for the defined enum Fl_Boxtype.
- Member Fl_Browser_::scrollbar_width () const
- This method should eventually be removed in 1.4+
- Member Fl_Browser_::scrollbar_width (int width)
- This method should eventually be removed in 1.4+
- Member Fl_Browser_::sort (int flags=0)
- Add a flag to ignore case
- Class Fl_Button
Refactor the doxygen comments for Fl_Button type() documentation.
Refactor the doxygen comments for Fl_Button when() documentation.
- Member fl_casenumericsort (struct dirent **A, struct dirent **B)
- Make comparison UTF-8 aware.
- Class Fl_Chart
- Refactor Fl_Chart::type() information.
- Class Fl_Choice
- Refactor the doxygen comments for Fl_Choice changed() documentation.
- Class Fl_Counter
- Refactor the doxygen comments for Fl_Counter type() documentation.
- Member Fl_Cursor
- enum Fl_Cursor needs maybe an image.
- Member Fl_File_Input::errorcolor (Fl_Color c)
- Remove Fl_File_Input::errorcolor(Fl_Color) in FLTK 1.5.0 or higher.
- Member Fl_File_Input::errorcolor () const
- Remove Fl_File_Input::errorcolor() in FLTK 1.5.0 or higher.
- Member fl_filename_list (const char *d, struct dirent ***l, Fl_File_Sort_F *s=fl_numericsort)
- should support returning OS error messages
- Member Fl_Group::delete_child (int n)
- Reimplementation of Fl_Group::delete_child(int) in more FLTK subclasses. This is not yet complete.
- Member fl_height (int font, int size)
- In the future, when the XFT issues are resolved, this function should simply return the 'size' value.
- Member Fl_Help_View::find (const char *s, int p=0)
- complex HTML entities for Unicode code points > 0x80 are currently treated like one byte (not character!) and do not (yet) match correctly ("<" matches "<" but "€" doesn't match "€", and "ü" doesn't match "ü")
- Member Fl_Input_::handle_mouse (int, int, int, int, int keepmark=0)
- Add comment and parameters
- Member Fl_Input_::handletext (int e, int, int, int, int)
- Add comment and parameters
- Class Fl_Int_Vector
- Add other std::vector methods like erase(), etc.
- Make memory blocking size flexible, and add related methods like capacity(), reserve(), shrink_to_fit(), etc.
- Add non-std methods that are nevertheless needed, e.g. insert(index,val), delete(index), delete(start, end), swap(a_idx,b_idx)
- Member Fl_Int_Vector::back () const
- Internals should maybe assert(size_ != 0)
- Member Fl_Int_Vector::pop_back ()
- Internals should maybe assert(size_ != 0)
- Class Fl_Label
- There is an aspiration that the Fl_Label type will become a widget by itself. That way we will be avoiding a lot of code duplication by handling labels in a similar fashion to widgets containing text. We also provide an easy interface for very complex labels, containing html or vector graphics. However, this re-factoring is not in place in this release.
- Member Fl_Menu_::add (const char *, int shortcut, Fl_Callback *, void *=0, int=0)
- Raw integer shortcut needs examples. Dependent on responses to https://www.fltk.org/newsgroups.php?gfltk.coredev+v:10086 and results of STR#2344
- Member fl_numericsort (struct dirent **A, struct dirent **B)
- Make comparison UTF-8 aware.
- Member fl_set_status (int X, int Y, int W, int H)
- provide user documentation for fl_set_status function
- Member Fl_Shortcut
- Discuss and decide whether we can "shift" these special keyboard flags to the upper byte to enable full 21-bit Unicode characters (
U+0000 .. U+10FFFF
) plus the keyboard indicator bits as this was originally intended. This would be possible if we could rely on all programs being coded with symbolic names and not hard coded bit values.
- Class Fl_String
- Complete documentation of class Fl_String
- Member Fl_Text_Display::display_insert ()
- Unicode?
- Member Fl_Text_Display::extend_range_for_styles (int *start, int *end)
- Unicode?
- Member Fl_Text_Display::handle_vline (int mode, int lineStart, int lineLen, int leftChar, int rightChar, int topClip, int bottomClip, int leftClip, int rightClip) const
we need to handle hidden hyphens and tabs here!
we handle all styles and selections
we must provide code to get pixel positions of the middle of a character as well
- Member Fl_Text_Display::maintain_absolute_top_line_number (int state)
- TextDPosToLineAndCol does not exist (nedit port?)
- Member Fl_Text_Display::overstrike (const char *text)
- Unicode? Find out exactly what we do here and simplify.
- Member Fl_Text_Display::position_to_linecol (int pos, int *lineNum, int *column) const
- a column number makes little sense in the UTF-8/variable font width environment. We will have to further define what exactly we want to return. Please check the functions that call this particular function.
- Member Fl_Text_Display::scroll (int topLineNum, int horizOffset)
- Column numbers make little sense here.
- Member Fl_Text_Display::scrollbar_width (int width)
- This method should eventually be removed
- Member Fl_Text_Display::scrollbar_width () const
- This method should eventually be removed.
- Member Fl_Text_Display::shortcut (int s)
- FIXME : get set methods pointing on shortcut_ have no effects as shortcut_ is unused in this class and derived!
- Member Fl_Text_Display::shortcut () const
- FIXME : get set methods pointing on shortcut_ have no effects as shortcut_ is unused in this class and derived!
- Member Fl_Text_Display::wrap_uses_character (int lineEndPos) const
- TextDEndOfLine and BufEndOfLine functions don't exist (nedit port?)
- Member Fl_Text_Display::wrapped_column (int row, int column) const
What does this do and how is it useful? Column numbers mean little in this context. Which functions depend on this one? Function TextDXYToUnconstrainedPosition does not exist (nedit port?)
Unicode?
- Member Fl_Text_Display::wrapped_row (int row) const
- What does this do and how is it useful? Column numbers mean little in this context. Which functions depend on this one? Function TextDXYToUnconstrainedPosition does not exist (nedit port?)
- Member Fl_Tiled_Image::Fl_Tiled_Image (Fl_Image *i, int W=0, int H=0)
- Fix Fl_Tiled_Image as background image for widgets and windows and fix the implementation of Fl::scheme(const char *).
- Member Fl_Tree::handle (int e) FL_OVERRIDE
- add Fl_Widget_Tracker (see Fl_Browser_.cxx::handle())
- Member Fl_Tree::is_scrollbar (Fl_Widget *w)
- should be const
- Member Fl_Tree::show_self ()
- should be const
- Member Fl_Widget::argument () const
- [Internal] The user_data value must be implemented using
fl_intptr_t
or similar to avoid 64-bit platform incompatibilities.
- Member Fl_Widget::type () const
- Explain "simulate RTTI" (currently only used to decide if a widget is a window, i.e. type()>=FL_WINDOW ?). Is type() really used in a way that ensures "Forms compatibility" ?
- Member Fl_Window::show (int argc, char **argv)
- explain which system parameters are set up.
- Member Fl_Window::show () FL_OVERRIDE
- Check if we can remove resetting the current group in a later FLTK version (after 1.3.x). This may break "already broken" programs though if they rely on this "feature".
- Page FLTK Basics
- This section needs a major rework. Add a chapter "Building FLTK with CMake".
- Page Handling Events
- Add details on how to detect repeating keys, since on some X servers a repeating key will generate both FL_KEYUP and FL_KEYDOWN, such that to tell if a key is held, you need Fl::event_key(int) to detect if the key is being held down during FL_KEYUP or not.
- Module Mouse and Keyboard Events
- FL_Button and FL_key... constants could be structured better (use an enum or some doxygen grouping ?)
- Page Unicode and UTF-8 Support
Verify 16/24 bit Unicode limit for different character sets? OksiD's code appears limited to 16-bit whereas the FLTK2 code appears to handle a wider set. What about illegal characters? See comments in fl_utf8fromwc() and fl_utf8toUtf16().
Work through the code and this documentation to harmonize the [OksiD] and [fltk2] functions.
FLTK 1.3 and later supports the full Unicode range (21 bits), but there are a few exceptions, for instance binary shortcut values in menus (Fl_Shortcut) can only be used with characters from the BMP (16 bits). This may be extended in a future FLTK version.