1 /* the rhs of a row ... group together everything to the right of the
2  * button
3  */
4 
5 /*
6 
7     Copyright (C) 1991-2003 The National Gallery
8 
9     This program is free software; you can redistribute it and/or modify
10     it under the terms of the GNU General Public License as published by
11     the Free Software Foundation; either version 2 of the License, or
12     (at your option) any later version.
13 
14     This program is distributed in the hope that it will be useful,
15     but WITHOUT ANY WARRANTY; without even the implied warranty of
16     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17     GNU General Public License for more details.
18 
19     You should have received a copy of the GNU General Public License along
20     with this program; if not, write to the Free Software Foundation, Inc.,
21     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
22 
23  */
24 
25 /*
26 
27     These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk
28 
29  */
30 
31 #define TYPE_RHS (rhs_get_type())
32 #define RHS( obj ) \
33 	(G_TYPE_CHECK_INSTANCE_CAST( (obj), TYPE_RHS, Rhs ))
34 #define RHS_CLASS( klass ) \
35 	(G_TYPE_CHECK_CLASS_CAST( (klass), TYPE_RHS, RhsClass))
36 #define IS_RHS( obj ) \
37 	(G_TYPE_CHECK_INSTANCE_TYPE( (obj), TYPE_RHS ))
38 #define IS_RHS_CLASS( klass ) \
39 	(G_TYPE_CHECK_CLASS_TYPE( (klass), TYPE_RHS ))
40 #define RHS_GET_CLASS( obj ) \
41 	(G_TYPE_INSTANCE_GET_CLASS( (obj), TYPE_RHS, RhsClass ))
42 
43 /* Which children are visible.
44  */
45 typedef enum {
46 	RHS_GRAPHIC = 1,		/* Graphical display */
47 	RHS_SCOL = 2,			/* Class browser display */
48 	RHS_ITEXT = 4			/* Textual display */
49 } RhsFlags;
50 
51 struct _Rhs {
52 	Heapmodel parent_class;
53 
54 	int vislevel;		/* Visibility level */
55 	RhsFlags flags;		/* Which children we want visible */
56 
57         Model *graphic;		/* Graphic display ... toggle/slider/etc */
58         Model *scol;		/* Class display */
59         Model *itext;		/* Text display */
60 };
61 
62 typedef struct _RhsClass {
63 	HeapmodelClass parent_class;
64 
65 	/* My methods.
66 	 */
67 } RhsClass;
68 
69 GType rhs_get_type( void );
70 Rhs *rhs_new( Row *row );
71 
72 void rhs_set_vislevel( Rhs *rhs, int vislevel );
73 void rhs_vislevel_up( Rhs *rhs );
74 void rhs_vislevel_down( Rhs *rhs );
75 
76 gboolean rhs_child_edited( Rhs *rhs );
77