/**
 * @page todo TODO and Bugs list
 *
 * @section bugs BUGS
 *

- 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).


  Ewl_Entry
    - 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.

    - if you're 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.

    - if you're 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_Filepicker
    - The column view needs to blank out the preview when you
      have multiple files selected.


  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.


  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_Menu
     - Menus will activate on tab, but it jumps to the submenu instead of
       each menu item


  Ewl_Notebook
     - Putting a second notebook inside a first can cause memory corruption.
       This can be seen by running Ewl_Test and then clicking advanced ->
       Theme. The tab doesn't change and using other tests causes EWL
       warnings to be printed out.


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

  
  Ewl_Scrollpane
     - 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?


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


  Ewl_Test
     - Add a unit test to create a buffer engine window, show it, unrealize
       and realize it. (This currently causes a segv in the buffer engine
       code.)


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

     - new theme keys for the align/wrap stuff


 *
 * @section todo TODO
 *

  - Enabled/Disabled status for ALL applicable widgets.


  Ewl_Colorpicker
     - Need a slider for choosing alpha too. Need to add _get/_set
       functions to set the alpha parameter that are separate from the
       colour _set/_get functions which will just be RBG/HSV functions.


  Ewl_Config
     - Need to monitor the ewl_config files for changes and send a signal to
       the application when it changes. If this is done we won't need to
       use something like dbus to signal the config changed.


  Ewl_Engines
     - For engines that only support a single window (framebuffer for
       example) we need to set it up to override the window creation call to
       make the window inside an Evas buffer engine.


  Ewl_Filedialog
     - Need to add the ability to select directories instead of just files


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


  Ewl_Seeker
     - Add value labels and hash marks.

  
  Ewl_Spectrum
     - Implement a triangle selection mode


  Ewl_Statusbar
     - 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


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

     - 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_Widget
     - Use a flag instead of the variable Ewl_Widget::toplayered

 */

