1
  
2
  
3
  
4
  
5
  
6
  
7
  
8
  
9
  
10
  
11
  
12
  
13
  
14
  
15
  
16
  
17
  
18
  
19
  
20
  
21
  
22
  
23
  
24
  
25
  
26
  
27
  
28
  
29
  
30
  
31
  
32
  
33
  
34
  
35
  
36
  
37
  
38
  
39
  
40
  
41
  
42
  
43
  
44
  
45
  
46
  
47
  
48
  
49
  
50
  
51
  
52
  
53
  
54
  
55
  
56
  
57
  
58
  
59
  
60
  
61
  
62
  
63
  
64
  
65
  
66
  
67
  
68
  
69
  
70
  
71
  
72
  
73
  
74
  
75
  
76
  
77
  
78
  
79
  
80
  
81
  
82
  
83
  
84
  
85
  
86
  
87
  
88
  
89
  
90
  
91
  
92
  
/* -*- C -*- */ 
class GTK2.TreeRowReference; 
 
//! A TreeRowReference. 
 
void create(GTK2.TreeModel model, GTK2.TreePath path) 
//! Creates a row reference based on path.  This reference 
//! will keep pointing to the node pointed to by path, so 
//! long as it exists. 
{ 
  struct object *o1,*o2; 
  struct object *no; 
  pgtk2_verify_not_inited(); 
  pgtk2_verify_setup(); 
  get_all_args(NULL,args,"%o%o",&o1,&o2); 
  THIS->obj=(void *)gtk_tree_row_reference_new( 
                GTK_TREE_MODEL(get_gobject(o1)), 
                (GtkTreePath *)get_pg2object(o2,pgtk2_tree_path_program)); 
  THIS->owned = 1; 
  pgtk2_pop_n_elems(args); 
  pgtk2__init_this_object(); 
} 
 
require gtk28; 
GTK2.TreeModel get_model() 
//! Returns the model which this references is monitoring. 
{ 
  pgtk2_verify_inited(); 
  pgtk2_pop_n_elems(args); 
  { 
    GtkTreeModel *gtm; 
    gtm=gtk_tree_row_reference_get_model((GtkTreeRowReference *)THIS->obj); 
    push_gobject(gtm); 
  } 
} 
endrequire; 
 
GTK2.TreePath get_path() 
//! Returns a path that the row reference currently points to. 
{ 
/* 
  struct object *o=fast_clone_object(pgtk2_tree_path_program); 
  struct object_wrapper *ow; 
  ow=get_storage(o,pgtk2_tree_path_program); 
  ow->obj=(void *)gtk_tree_row_reference_get_path( 
        (GtkTreeRowReference *)(THIS->obj)); 
*/ 
  pgtk2_verify_inited(); 
  pgtk2_pop_n_elems(args); 
  { 
    GtkTreePath *gp=gtk_tree_row_reference_get_path( 
                (GtkTreeRowReference *)THIS->obj); 
    push_pgdk2object(gp,pgtk2_tree_path_program,1); 
  } 
} 
 
int valid() 
//! Return TRUE if the reference referes to a current valid path. 
{ 
  pgtk2_verify_inited(); 
  { 
    int res=gtk_tree_row_reference_valid((GtkTreeRowReference *)THIS->obj); 
    pgtk2_pop_n_elems(args); 
    PGTK_PUSH_INT(res); 
  } 
} 
 
void _destruct() 
{ 
  if (THIS->obj && THIS->owned) 
    gtk_tree_row_reference_free((GtkTreeRowReference *)THIS->obj); 
  THIS->obj=0; 
  pgtk2_pop_n_elems(args); 
  push_int(0); 
} 
 
require gtk22; 
GTK2.TreeRowReference copy() 
//! Copies a GTK2.TreeRowReference. 
{ 
  pgtk2_verify_inited(); 
  { 
    GtkTreeRowReference *a1; 
    a1=(GtkTreeRowReference *)gtk_tree_row_reference_copy( 
      (GtkTreeRowReference *)THIS->obj); 
    pgtk2_pop_n_elems(args); 
    push_pgdk2object(a1,pgtk2_tree_row_reference_program,1); 
  } 
} 
endrequire;