/**
 * @page todo_bugs TODO and Bugs list
 *
 * @section bugs BUGS
 *
- Ewl_Text:: if your in a multiline text and on a line that is longer
  then then one above or below and you hit the up arrow it will
  position your cursor one character _before_ the end of the line.

- Ewl_Text:: if your in a multiline text and on the last line
  of multiple lines. Pressing arrow down can wrap to the beginning
  of the first line.

- Ewl_Password:: The entry needs to correctly deal with selections and
  mouse clicks.

- How to deal with the scrollpane with the focus? Currently widgets
  marked INTERNAL are ignored on the inital add. Should the scrollpane 
  find itself in the tab list on SHOW and substitue the seekers instead?

- Menus will activate on tab, but it jumps to the submenu instead of
  each menu item

- We auto add things to the tab order as they are realized. We need to make
  sure the things we are adding aren't already in the tab order as we will
  then remove them. Should possibly add a flag to deactive this behaviour if
  the user wants complete control over their tab order.

- When we receive a mouse down on a widget we adjust the current position in
  the tab order to be the clicked widget (or the first non internal widget
  up the tree). This needs to be changed to check both !internal &&
  !in_tab_order as internal widgets _can_ be added to the tab order it just
  isn't done by default

- The realize code will current add all non internal widgets into the tab
  order automatically. This needs to be updated to check that the widget is
  not current in the tab order already. Currently if the user sets up a
  specific tab order it will be whiped out by the realize code. (In
  Ewl_Embed I believe).

- the tree dosen't currently play well with the scrollbar. This can be seen
  in the tree test, if you shrink the window and scroll it will only scroll
  the first paned widget. (Need to make this and the paned work together).

- text scrolling with Ewl_Entry needs a bit of work. If you scroll over to
  the right and the text moves and arrow back it shifts as you move off of
  the right edge instead of over the left edge.

- text cursor disappears on the end of entrybox case.

- The column view of the filepicker needs to blank out the preview when you
  have multiple files selected.

- Ewl_Spectrum:: may need to optimize this to only redraw if we have a resize, 
                 or a type/mode change

- Ewl_Spectrum:: Add a theme item for the cross hairs ...

- Ewl_Text:: need to setup the styles/align/wrap data from the theme in 
   	         ewl_text_context_default_create

- Ewl_Text:: new theme keys for the align/wrap stuff

- Ewl_Text:: need to fill in the condense function

- Ewl_Dnd:: uses hardcoded ecore_evas_software_x11 type calls in there. This
  needs to be moved over to use the new engine stuff and get the ecore_evas
  and any ecore_x calls out of there.

  Ewl_Icon
 - Clicking on the label 'Draw (Editable)' then clicking again will cause a
   warning to print. I _think_ the move event is getting fired for the text
   widget after I've deleted it in the Ewl_Icon code. Need to confirm/fix
   this.
 
 - Menus aren't hooked up. This should popup on right click and hide on a
   click outside the menu. Needs to do all that grabby stuff menus do (which
   should be in the menu's already.
 
 - Should change label editing to double click on the icon instead of
   clicking on the label itself.
 

 Ewl_Freebox 
 - On the comparator test if you add a set of icons, rename an icon and then
   add another set of icons the second set of icons won't appear until the
   window is moved. (Must be missing a configure event)

 - The autolayout will align at the top, should probably be changed to align
   at the bottom based on the largest widget being put in.

 *
 * @section todo TODO
 *

- Ability to attach custom cursors to each widget. We can currently attach
  predefined cursors. Need to add a ewl_attach_widget_cursor_custom_set that
  uses the buffer engine to create the cursor. We then attach it with an
  EWL_ATTACH_TYPE_MOUSE_CURSOR_CUSTOM so on free we can free the cursor that
  is attached.

- ColorChooser needs a slider for choosing alpha too, and an int a parameter for
  get / set to match 

- Enabled/Disabled status for ALL applicable widgets.

- Need to return a context when items are pushed onto the status bar so that
  a context can be removed without popping off the stack

- Need to do some work on the tree.
  - add ability to wrap text in tree nodes
  - add ability to clear all rows under a parent row
  - add ability to set row to expand when item clicked (ie
    ewl_tree_row_expand_on_click_set())
  - horizontal scrolling is wacked
  - add ability to turn highlight off for certain rows/nodes
  - scrollbar dosen't always appear when expected using the tree
  - if you have the tree so it has the scroll bar appear, if you're at the
    bottom of the scrollarea and you expand a row, the text shoudln't shift
    up. The scrollpane should be adjusted so the line you expanded stays
    where it is and everything shifts down.

- Tree selection mode set and themeing (MULTI/SINGLE/EXTENDED/NONE).
  - Invert on mouse click (behavior depends upon select mode).
  - determination of whether a row is selected or not (ewl_[tree_]row_selected).

- Add a function that returns the selected radio button of a chain
  associated to a given radio button.

- [Ewl_Test] More unit tests. There are a few examples in there but we need
  to add unit tests for as many functions as we can.

- [Ewl_Test] More Tutorials in the src/bin/test/*.c files

- Make the popup_destroy_cb's common between the imenu and menu

- Ewl_Spectrum:: implement a triangle selection mode

- Ewl_Seeker:: Add value labels and hash marks.

 */
