
BUGS:
- [FIXED] console flush seems not working after leaving libgringo (ncurses)

TODO:
- restore the old screen content after quitting

======================================

- object
    setname
    getname
    x, y, w, h
    active
    enabled
    visible
    parent
    me
- window
    fOnClose
    title
    transparent
    shadow
- label
    caption
- button
    caption
    status
    onclick
- edit
    text
    curpos
- checkbox
    caption
    status
- item
    text
- column
    caption
    width, height
    items
- listbox
    title
- grid
    columns

void gringo_Init(int *argc, char **argv[] );
int  gringo_Loop();
void gringo_Terminate(int sig);
void gringo_Quit();

// WINDOW
// It is non necessary to call window_Destroy for any window, this is
// done automatically by libgringo. Use window_Destroy only when you
// want to kill a specified window (we suggest you to use Show/Hide
// instead).
TWindow* window_Create( int x, int y, int w, int h, char *title );
void window_Activate( TWindow *win );
void window_Deactivate( TWindow *win );
void window_Show( TWindow *win );
void window_Hide( TWindow *win );
void window_Close( TWindow *win );
void window_Enable( TWindow *win );
void window_Disable( TWindow *win );
void window_OnClose(TWindow *win, void *f );

/* WIDGETS */

// LABEL
TLabel* label_Create( TWindow* win, int x, int y, int w, char *title );
char* label_GetValue( TLabel *obj );

// BUTTON
TButton* button_Create( TWindow* win, int x, int y, int w, char *title );
void button_OnClick( TButton *obj, void * f );
int button_GetValue( TButton *obj );

// EDIT BOX
TEdit* edit_Create( TWindow* win, int x, int y, int w, char *text );
char* edit_GetValue( TEdit *obj );

// CHECK BOX
TCheckBox* checkbox_Create( TWindow* win, int x, int y, char *title, int checked );
int checkbox_GetValue( TCheckBox *obj );

// LIST BOX
TListBox* listbox_Create( TWindow* win, int x, int y, int w, int h );
void listbox_AddItem( TListBox* obj, char *s );
char *listbox_GetValue( TListBox *obj );
// GRID BOX
TGrid *grid_Create( TWindow* win, int x, int y, int w, int h );
TColumn *grid_AddColumn( TGrid *obj, char *title, int w );
void grid_AddText( TGrid *obj, ... );



WIDGETS TO BE WRITTEN:
  - HLine
  - VLine
  - Maskedit
  - OptionList
  - StringGrid (under way ... Grid)
  - WidgetGrid


====================== OLD ====================== 


FEATURE TO BE IMPLEMENTED:
  - closable properties (very easy)
  - modal window (very easy)


PORTING STATUS: (see below)
  - Check all the Gtk items
  - [1] label should be painted in gray when disabled, currently
        are painted all of the same color

Note: functions names will change in 3.0.0 please check them	
  
Widgets                          ncurses   gtk
-------                          -------  -----

Gringo
  gringo_Init                       OK    Compute XFACTOR, YFACTOR
  gringo_Loop                       OK    OK
  gringo_Terminate                  OK    OK
  gringo_Quit                       OK    OK
  gringo_Paint                      OK
  gringo_ActivateFirstWindow        OK
  gringo_ActivateNextWindow         OK
  gringo_ActivatePreviousWindow     OK
  gringo_ActivateLastWindow         OK    

Object
  object_Paint                      OK
  object_Destroy                    OK
  object_Disable                    ??
  object_Enable                     ??
  object_SetName                    ??
  object_GetName                    ??
    
Window
  window_Create                     OK
  window_Destroy                    OK
  window_Paint                      OK
  window_AttachObject               OK
  window_Activate                   OK
  window_Deactivate                 OK
  window_Show                       OK
  window_Hide                       OK
  window_Enable                     OK
  window_Disable                    OK
  window_Close                      OK
  window_OnClose                    OK
  window_Move                       ??
  window_Resize                     ??
  
Window Utils
  window_ActivateFirstChild         OK
  window_ActivateNextChild          OK
  window_ActivatePreviousChild      OK
  window_ActivateLastChild          OK
  window_ActivateChild              OK
  window_SetTitle                   OK
  window_CursorLeft                 OK
  window_CursorRight                OK  
  window_CursorHome                 OK
  window_CursorEnd                  OK  
  window_CursorCanc                 OK
  window_InsertChar                 OK  
    
Label
  label_Create                      OK
  label_Paint                       [1]
  
Button
  button_Create                     OK
  button_Paint                      OK
  button_OnClick                    OK
  
Edit
  edit_Create                       OK
  edit_Paint                        OK

ncurses-utils
  ncurses-fill-window               OK     N/A
  ncurses-clear-area                OK     N/A
  ncurses-clear-screen              OK     N/A
  ncurses-draw-box                  OK     N/A
  ncurses-draw-shadow               OK     N/A

CheckBox
  checkbox_Create                   OK
  checkbox_Paint                    OK

ListBox
  listbox_Create                    OK
  listbox_AddItem                   OK
  listbox_Paint                     OK
  listbox_ActivateNextItem          OK
  listbox_ActivatePreviousItem      OK
  listbox_ActivateNextPageItem      OK
  listbox_ActivatePreviousPageItem  OK

Grid
  grid_Create                       OK
  grid_Paint                        addcolumn and draw their captions
  grid_AddColumn                    OK
  grid_AddText                      OK
  grid_OnClick
  column_AddText                    overwrite right border
  grid_ActivateNextItem             OK
  grid_ActivatePreviousItem         OK
  grid_ActivateNextPageItem 
  grid_ActivatePreviousPageItem 

EOF
