#include <stdio.h>#include <stdlib.h>#include <string.h>#include <gtk/gtk.h>#include "../ut/ut_cast.h"#include "../ut/ut_umem.h"#include "../gui/gui_types.h"#include "../gui/gui_base.h"#include "../gui_gtk/gtk_tree_it.h"| Functions | |
| MemObj | GUI_tree1__ (MemObj *o_par, void *selCB, char *opts) | 
| int | GUI_tree1_row_set (MemObj *mo, TreeNode *row, int ico, char *txt, int mode) | 
| int | GUI_tree1_decode (MemObj *mo) | 
| int | GUI_tree1_row_add (TreeNode *nodeChd, MemObj *mo, TreeNode *nodePar, int icoNr, char *txt, int mode) | 
| int | GUI_tree1_clear (MemObj *mo) | 
| int | GUI_tree1_selRow (MemObj *mo, TreeNode *it) | 
| int | GUI_tree1_iter_string (TreeNode *it, char *txt, TreeNode *itPar, MemObj *mo) | 
| int | GUI_tree1_childNr (MemObj *mo, TreeNode *it) | 
| int | GUI_tree1_remove__ (MemObj *mo, TreeNode *it) | 
| int | GUI_tree1_childs_remove (MemObj *mo, TreeNode *it) | 
| int | GUI_tree1_unselect_all (MemObj *mo) | 
| int | GUI_tree1_expand__ (MemObj *mo, TreeNode *it) | 
| int | GUI_tree1_ck_expanded (MemObj *mo, TreeNode *it) | 
| int | GUI_tree1_par (TreeNode *itPar, MemObj *mo, TreeNode *itChild) | 
| int | GUI_tree1_ndPos (char *ndPos, MemObj *mo, TreeNode *it) | 
| int | GUI_tree1_lev (MemObj *mo, TreeNode *it) | 
| int | GUI_tree1_cmp_row (MemObj *mo, TreeNode *it1, TreeNode *it2) | 
| int | GUI_tree1_set_selMode (MemObj *mo, int mode) | 
| int | GUI_tree1_childs_set (MemObj *mo, TreeNode *it, int mode) | 
| int | GUI_tree1_cbSel (void *selection, MemObj mo) | 
| int | GUI_tree1_cbMouse (void *parent, void *ev, MemObj mo) | 
| Variables | |
| int | UI_fontsizX | 
| int | UI_fontsizY | 
| GdkPixbuf * | IcoTab [] | 
| static GtkWidget * | GUI_tree1_tree | 
| static GtkTreeView * | GUI_tree1_view | 
| static GtkTreeModel * | GUI_tree1_model | 
| static GtkTreeStore * | GUI_tree1_store | 
| static int | GUI_tree1_msbt | 
| static Obj_gui2 * | GUI_tree1_ActObj | 
===================================================== List_functions_start: GUI_tree1__ create Tree with icon + text GUI_tree1_row_add create row & set rowMode GUI_tree1_remove__ remove row and its childs GUI_tree1_clear clear whole tree GUI_tree1_expand__ expand row or complete tree GUI_tree1_ck_expanded test if row is expanded GUI_tree1_row_set change rowMode to active, normal, passive GUI_tree1_row_create create row GUI_tree1_selRow select row GUI_tree1_unselect_all unselect all objects of tree GUI_tree1_iter_string find row that starts with <txt> GUI_tree1_childNr get nr of childs of row GUI_tree1_par get parentNode of node. GUI_tree1_lev get level of a node GUI_tree1_cmp_row compare 2 rows if identical GUI_tree1_ndPos get position of a node; returns string (eg "0:2") GUI_tree1_set_selMode deactivate / reactivate selection GUI_tree1_childs_set modify mode (active|passive) of all childs of a row GUI_tree1_decode INTERNAL GUI_tree1_childs_remove INTERNAL remove all childs of row GUI_tree1_cbSel INTERNAL callback list selection GUI_tree1_cbMouse INTERNAL List_functions_end: =====================================================
| MemObj GUI_tree1__ | ( | MemObj * | o_par, | |
| void * | selCB, | |||
| char * | opts | |||
| ) | 
    create Tree with icon + text.
     Icons must be loaded with GUI_Ico_init < iSizYIco_init
    Input:
      o_par      parentBox
      selCB      callbackfunktion for the selection-event
    Output:
      returns    tree
   
    prototyp selCB:
    int selCB (void *parent, void **data);
      // data=table of 6 pointers;
      GUI_DATA_EVENT=*(int*)data[0]=TYP_EventPress|TYP_EventRelease
      GUI_DATA_I1   =*(int*)data[1]=GUI_MouseL|      left mousebutton
                                    GUI_MouseM|      mid mousebutton
                                    GUI_MouseR|      right mousebutton
      (TreeNode*)data[2]           =TreeNode of selected row
      GUI_DATA_S3   =(char*)data[3]=text (col.1) of selected row
      GUI_DATA_I4   =*(int*)data[4]=icon-nr of selected row
      GUI_DATA_I5   =*(int*)data[5]=state of selected row 1=active, 0=passive
   
    see also UI_mcl__ GUI_mList__
| int GUI_tree1_row_set | ( | MemObj * | mo, | |
| TreeNode * | row, | |||
| int | ico, | |||
| char * | txt, | |||
| int | mode | |||
| ) | 
GUI_tree1_row_set change rowMode to active, normal, passive Input: ico index of icon; -1 = do not modify. txt text for row; NULL = do not modify. mode -2 do not modify -1 passive (icon & text dimmed) 0 normal 1 active (text red) NOT YET IMPLEMENTED 2 selected see GUI_tree1_set_selMode().
| int GUI_tree1_decode | ( | MemObj * | mo | ) | 
    INTERNAL
    set GUI_tree1_tree, GUI_tree1_view, GUI_tree1_model and GUI_tree1_store
| int GUI_tree1_row_add | ( | TreeNode * | nodeChd, | |
| MemObj * | mo, | |||
| TreeNode * | nodePar, | |||
| int | icoNr, | |||
| char * | txt, | |||
| int | mode | |||
| ) | 
    add (one more) childnode to parentNode <rowPar>
    Input:
      mo         tree-obj
      nodePar    parent-row-node; NULL for primary obj
      icoNr      index of icon; -1 = do not modify.  see eg ICO_Var
      txt        text for row; NULL = do not modify.
      mode  -1   passive (icon & text dimmed)
             0   normal (text colored)
             1   active (text normal)
    Output:
      nodeChd      child-row-node
| int GUI_tree1_clear | ( | MemObj * | mo | ) | 
clear whole tree
| int GUI_tree1_selRow | ( | MemObj * | mo, | |
| TreeNode * | it | |||
| ) | 
    select row from iter
    display selected, this triggers a selection-process !
| int GUI_tree1_iter_string | ( | TreeNode * | it, | |
| char * | txt, | |||
| TreeNode * | itPar, | |||
| MemObj * | mo | |||
| ) | 
get iter of row that starts with <txt> among childs of itPar. Check only childs of one level. Input: txt objId + " " eg "M21 " itPar parentNode; check only its childs; NULL for topLevel Output: it node found RetCode: 0 = ok, found; row <it> starts with <txt> -1 = not found
| int GUI_tree1_childNr | ( | MemObj * | mo, | |
| TreeNode * | it | |||
| ) | 
GUI_tree1_childNr get nr of childs of it
| int GUI_tree1_remove__ | ( | MemObj * | mo, | |
| TreeNode * | it | |||
| ) | 
remove node it and its childs
| int GUI_tree1_childs_remove | ( | MemObj * | mo, | |
| TreeNode * | it | |||
| ) | 
    remove all childs of node; but not node.
    recursiv
| int GUI_tree1_unselect_all | ( | MemObj * | mo | ) | 
unselect all objects of tree
| int GUI_tree1_expand__ | ( | MemObj * | mo, | |
| TreeNode * | it | |||
| ) | 
expand row or all (if it == NULL)
| int GUI_tree1_ck_expanded | ( | MemObj * | mo, | |
| TreeNode * | it | |||
| ) | 
    test if row is expanded
    RetCod:     0   row is not expanded
                1   row is expanded
| int GUI_tree1_par | ( | TreeNode * | itPar, | |
| MemObj * | mo, | |||
| TreeNode * | itChild | |||
| ) | 
get parentNode of node. Retcode: 0 NO PARENT EXIST else OK
| int GUI_tree1_ndPos | ( | char * | ndPos, | |
| MemObj * | mo, | |||
| TreeNode * | it | |||
| ) | 
get position of a node; returns string. Output: ndPos char[40] returns string; eg "0" or "0:2" or "0:2:1" .. nodeName: "0" first group "0:0" first subObj of first group
| int GUI_tree1_lev | ( | MemObj * | mo, | |
| TreeNode * | it | |||
| ) | 
get level of a node; level=0=topNode; level=1 is a child of the topNode; level=2 is a child of a child of the topNode. level is the nr of ':'-chars in the treePosString; "0"=0; "0:2"=1; "0:2:1"=2;
| int GUI_tree1_cmp_row | ( | MemObj * | mo, | |
| TreeNode * | it1, | |||
| TreeNode * | it2 | |||
| ) | 
compare 2 rows if identical;
| int GUI_tree1_set_selMode | ( | MemObj * | mo, | |
| int | mode | |||
| ) | 
    deactivate / reactivate selection
    use if select rows with GUI_tree1_selRow|GUI_tree1_childs_set(,,2)
| int GUI_tree1_childs_set | ( | MemObj * | mo, | |
| TreeNode * | it, | |||
| int | mode | |||
| ) | 
    modify mode (active|passive) of all childs of a row, but not of row.
      mode      -1=passive; 1=active
    recursive.
| int GUI_tree1_cbSel | ( | void * | selection, | |
| MemObj | mo | |||
| ) | 
INTERNAL
| int GUI_tree1_cbMouse | ( | void * | parent, | |
| void * | ev, | |||
| MemObj | mo | |||
| ) | 
INTERNAL
| int UI_fontsizX | 
| int UI_fontsizY | 
| GdkPixbuf* IcoTab[] | 
| GtkWidget* GUI_tree1_tree  [static] | 
| GtkTreeView* GUI_tree1_view  [static] | 
| GtkTreeModel* GUI_tree1_model  [static] | 
| GtkTreeStore* GUI_tree1_store  [static] | 
| int GUI_tree1_msbt  [static] | 
| Obj_gui2* GUI_tree1_ActObj  [static] | 
 1.6.3
 1.6.3