Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Friday, April 19, 2024

File: [Platon] / tucniak / term / tt_table.h (download)

Revision 1.1.1.1 (vendor branch), Fri Nov 11 16:08:27 2005 UTC (18 years, 5 months ago) by koli


Changes since 1.1: +0 -0 lines

Initial import

// Copyright (c) 2003,2004,2005 Juraj Kolesár <koli@koli.sk>               
#define TT_TABLE    GSList
/*
  Main variable of the tt_table functions
    -the idea is to keep separatly list of values from T_TABLE that 
    are actualy showed by tt_table_list
*/
/*** "PUBLIC" TO USE **********************************************************/
/* tt_table (POS, **T_TABLE, *T_COLS) {{{ */
int tt_table (POS point, T_TABLE **table, T_COLS *cols);
    /*
    MEAN
        -simpliest function to handle with T_TABLE data in WINDOW area
        -displayed according to T_COLS values
        -result after confirm:
            actual T_ROW from T_TABLE is stored in T_COLS values
        -moving cursor is changing actual T_ROW in T_TABLE
        -table size is computed as smaller number from list size and description
        or previous size defined in POS
}}} */
/* tt_table_qs (*WINDOW, *T_DB, *T_QS, *T_COLS) {{{ */
int tt_table_qs (WINDOW *win, T_DB *tdb, T_QS *qs, T_COLS *cols);
    /*
    MEAN
        -table data stored in T_MATRIX are read from T_DB 
        according to T_QS request (for more see ../db/tdb.h).
        -shows filter line and calls tt_table_list in subwin area
        handles user inputs to view data list (find,filter)
    USER EVENT HANDLING    
        -after changing filter or find string by hiting char key
        actualized list is changed and showed immediatly. 
    RETURN
        (__TT_ENTER)-when actual row values are stored in T_COLS [Enter]
            all other exits keeps current fliter value in T_COLS
        (__TT_ESC)    -[Esc] pressed, f.e. nothing was chosen
        (__TT_INS)    -[Insert] pressed, f.e. new input wanted
}}} */
/* tt_table_combo(POS, **T_TABLE, *T_COLS) {{{ */
int tt_table_combo(POS point, T_TABLE **table, T_COLS *cols);
    /*
    MEAN
        -combo box on POS is displayed tt_table_draw_combo
        -when pressing [Enter] T_TABLE is displayed by tt_table and user
        can select T_ROW. After selection is table destroyed and
        called tt_table_draw_combo again with selected value of T_ROW
}}} */

/*** "DRAW" ("private", but could be used) ************************************/
/* tt_table_draw (*WINDOW, *T_COLS, *T_TABLE) {{{ */
int tt_table_draw (WINDOW *win, T_COLS *cols, T_TABLE *table);
    /*
}}} */
/* tt_table_draw_row (POS, char separator, *T_COLS, *T_ROW) {{{ */
int tt_table_draw_row (POS point, char separator, T_COLS *cols, T_ROW *row);
    /*
}}} */
/* tt_table_draw_list   (*WINDOW, *T_COLS, *T_TABLE, *TT_TABLE) {{{ */
int tt_table_draw_list (
    WINDOW *win, 
    T_COLS *cols, 
    T_TABLE *table, 
    TT_TABLE *v_table
);
    /* 
        -lists TT_TABLE data in WINDOW area according to T_COLS descriptions
        (when T_COLS list is shorter than the number of columns, 
        all not described columns use descripton of the last described)
        -when T_TABLE != NULL highliths the visible cursor 
}}} */
/* tt_table_draw_combo (POS, *T_COLS, *T_TABLE) {{{ */
int tt_table_draw_combo(POS point, T_COLS *cols, T_TABLE *table);
    /*
    -draws combo symbol "[v]" and actual T_ROW from T_TABLE
}}} */
/* tt_table_draw_filter (*WINDOW, *T_COLS) {{{ */
int tt_table_draw_filter (WINDOW *win, T_COLS *cols);
    /*
    lists actual filter(T_COLS) values in WINDOW starting on position (1,1)
    (internal function for tt_table_qs)
}}} */
/*** "INTERNAL" ("private", not recomended for external use) ******************/
/* tt_table_init (int rows, *T_TABLE, **TT_TABLE) {{{ */
int tt_table_init(int rows, T_TABLE *table, TT_TABLE **v_table);
    /*
    MEAN
        initialization of TT_TABLE
        -starts from the actual position in T_TABLE        
    RETURN
        (number) of rows initialized
            -could be less or equal to "rows" attribute
            according to size of parent T_TABLE
        (0) if T_TABLE = NULL
}}} */
/* tt_table_store (*T_TABLE, *T_COLS) {{{ */
int tt_table_store(T_TABLE *table, T_COLS *cols);
    /*
    MEAN
        -stores actual T_ROW to T_COLS 
        -is called after hiting [Enter] or another confirm key
    RETURN
        __LT_OK  - when stored, or T_TABLE=NULL and nothing changed
        __LT_ERR - when T_COLS list is shorter than T_ROW
}}} */
/* tt_table_cursor   (*T_TABLE, *TT_TABLE) {{{ */
int tt_table_cursor(T_TABLE *table, TT_TABLE *v_table);
    /*
    RETURN
        (value) of visual cursor vertical position    (first line has value '1')
        (0) -if lt_table=NULL 
}}} */
/* tt_table_next     (**T_TABLE, **TT_TABLE) {{{ */
int tt_table_next(T_TABLE **table, TT_TABLE **v_table);
    /*after hiting KEY_DOWN
    -if possible then T_TABLE cursor is moved to new position 
    and    TT_TABLE values are changed if necessary 
    (when visible cursor is in the end of the table, first item 
    from TT_TABLE goes out and new from T_TABLE is added)
}}} */
/* tt_table_previous (**T_TABLE, **TT_TABLE) {{{ */
int tt_table_previous(T_TABLE **table, TT_TABLE **v_table);
    /*after hiting KEY_UP
    simmilar to tt_table_next but in oposite garde
}}} */
/* tt_table_search (char *str, int column, **T_TABLE, **TT_TABLE) {{{ */
int tt_table_search(char *str, int column,
                     T_TABLE **table, TT_TABLE **v_table);
    /*after hiting key it is added (or removed) to search string and 
    searched for it    in actual column
???    -need to make new strcmp function 
    where string "n333umber" would be less then "n3umber"
}}} */
/* tt_table_find   (char *str, int column, **T_TABLE, **TT_TABLE) {{{ */
int tt_table_find(char *str, int column,
                     T_TABLE **table, TT_TABLE **v_table);
    /*similar to search but it fills the whole value of str when SURE
}}} */

Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top