1 /* Generated by GOB (v2.0.20) (do not edit directly) */ 2 3 #include <glib.h> 4 #include <glib-object.h> 5 #ifndef __GGOBI_DATA_H__ 6 #define __GGOBI_DATA_H__ 7 8 #ifdef __cplusplus 9 extern "C" { 10 #endif /* __cplusplus */ 11 12 13 14 15 #include "defines.h" 16 #include "brushing.h" 17 #include "vartable.h" 18 #include "fileio.h" 19 20 #include <gtk/gtk.h> 21 22 typedef struct _Subset { 23 gint random_n; 24 gint string_pos; 25 /*-- adjustments from which to get values for blocksize, everyn --*/ 26 GtkAdjustment *bstart_adj, *bsize_adj; 27 GtkAdjustment *estart_adj, *estep_adj; 28 } Subset; 29 30 31 typedef struct _Jitterd { 32 gfloat factor; 33 gboolean type; 34 gboolean convex; 35 gfloat *jitfacv; 36 } Jitterd; 37 38 typedef struct _Varpanel_cboxd { 39 GtkWidget *ebox; /*-- child1 of pane widget --*/ 40 GtkWidget *swin; /*-- child of ebox --*/ 41 GtkWidget *vbox; /*-- child of swin --*/ 42 GSList *box; /*-- single column of hboxes --*/ 43 } Varpanel_cboxd; 44 45 typedef struct _Varpanel_circd { 46 GtkWidget *ebox; /*-- child2 of pane widget --*/ 47 GtkWidget *vbox; /*-- child of ebox --*/ 48 GtkWidget *swin, *hbox; /*-- children of vbox --*/ 49 GtkWidget *table; /*-- sole child of swin; now a vbox --*/ 50 GtkWidget *manip_btn, *freeze_btn; /*-- children of hbox --*/ 51 52 GdkCursor *cursor; 53 gint jcursor; 54 55 /*-- components and properties of the table --*/ 56 GSList *vb, *da, *label; 57 GSList *da_pix; /*-- backing pixmaps --*/ 58 gint nvars; 59 } Varpanel_circd; 60 61 typedef struct _Varpaneld { 62 GtkWidget *hpane; /*-- child of the ebox --*/ 63 } Varpaneld; 64 65 /*-------------------- transformation --------------------------------*/ 66 67 /* sphering transformation */ 68 typedef struct _Sphere_d { 69 vector_i vars; /*-- vars available to be sphered --*/ 70 vector_i vars_sphered;/*-- vars that have been sphered --*/ 71 gint npcs; /*-- the first npcs vars of vars will be sphered --*/ 72 vector_i pcvars;/*-- vars into which sphered data is written --*/ 73 74 vector_f eigenval; 75 array_d eigenvec; 76 array_f vc; 77 vector_f tform_mean; 78 vector_f tform_stddev; 79 80 gboolean vars_stdized; 81 } Sphere_d; 82 83 84 typedef struct _EdgeData { 85 gint n; 86 SymbolicEndpoints *sym_endpoints; 87 GList *endpointList; 88 /* a list of endpointsd elements corresponding to the resolved 89 record ids relative to a given datad. This is akin to a table 90 indexed by datad elements. */ 91 92 gint nxed_by_brush; 93 vector_b xed_by_brush; 94 } EdgeData; 95 96 typedef struct _BrushBins { 97 gint nbins; 98 bin_struct **binarray; 99 icoords bin0, bin1; 100 } BrushBins; 101 102 103 104 105 /* 106 * Type checking and casting macros 107 */ 108 #define GGOBI_TYPE_DATA (ggobi_data_get_type()) 109 #define GGOBI_DATA(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), ggobi_data_get_type(), GGobiData) 110 #define GGOBI_DATA_CONST(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), ggobi_data_get_type(), GGobiData const) 111 #define GGOBI_DATA_CLASS(klass) G_TYPE_CHECK_CLASS_CAST((klass), ggobi_data_get_type(), GGobiDataClass) 112 #define GGOBI_IS_DATA(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj), ggobi_data_get_type ()) 113 114 #define GGOBI_DATA_GET_CLASS(obj) G_TYPE_INSTANCE_GET_CLASS((obj), ggobi_data_get_type(), GGobiDataClass) 115 116 /* 117 * Main object structure 118 */ 119 #ifndef __TYPEDEF_GGOBI_DATA__ 120 #define __TYPEDEF_GGOBI_DATA__ 121 typedef struct _GGobiData GGobiData; 122 #endif 123 struct _GGobiData { 124 GObject __parent__; 125 /*< public >*/ 126 const gchar * name; 127 const gchar * nickname; 128 InputDescription * input; 129 guint nrows; 130 gint ncols; 131 gboolean missings; 132 struct _ggobid * gg; 133 GArray * rowlab; 134 GHashTable * idTable; 135 char ** rowIds; 136 vartabled * linkvar_vt; 137 Subset subset; 138 Jitterd jitter; 139 Varpanel_cboxd vcbox_ui; 140 Varpanel_circd vcirc_ui; 141 Varpaneld varpanel_ui; 142 Sphere_d sphere; 143 EdgeData edge; 144 BrushBins brush; 145 GSList * vartable; 146 GtkWidget * vartable_tree_view[all_vartypes]; 147 GtkTreeModel * vartable_tree_model; 148 array_f raw; 149 array_f tform; 150 array_g world; 151 array_g jitdata; 152 array_s missing; 153 gboolean missings_show_p; 154 vector_i rows_in_plot; 155 gint nrows_in_plot; 156 vector_b sampled; 157 vector_b excluded; 158 symbol_cell symbol_table[NGLYPHTYPES][NGLYPHSIZES][MAXNCOLORS]; 159 GtkWidget * cluster_table; 160 gint nclusters; 161 clusterd * clusv; 162 clusteruid * clusvui; 163 vector_i clusterid; 164 gint npts_under_brush; 165 vector_b pts_under_brush; 166 vector_s color; 167 vector_s color_now; 168 vector_s color_prev; 169 vector_b hidden; 170 vector_b hidden_now; 171 vector_b hidden_prev; 172 vector_g glyph; 173 vector_g glyph_now; 174 vector_g glyph_prev; 175 gint nearest_point; 176 gint nearest_point_prev; 177 GSList * sticky_ids; 178 GSList * movepts_history; 179 }; 180 181 /* 182 * Class definition 183 */ 184 typedef struct _GGobiDataClass GGobiDataClass; 185 struct _GGobiDataClass { 186 GObjectClass __parent__; 187 /*signal*/void (* rows_in_plot_changed) (GGobiData * self, int arg1, int arg2, ggobid * arg3); 188 /*signal*/void (* col_name_changed) (GGobiData * self, int j); 189 }; 190 191 192 /* 193 * Public methods 194 */ 195 GType ggobi_data_get_type (void) G_GNUC_CONST; 196 #line 182 "data.gob" 197 guint ggobi_data_get_nrows (GGobiData * self); 198 #line 199 "ggobi-data.h" 199 #line 182 "data.gob" 200 void ggobi_data_set_nrows (GGobiData * self, 201 guint val); 202 #line 203 "ggobi-data.h" 203 #line 186 "data.gob" 204 guint ggobi_data_get_ncols (GGobiData * self); 205 #line 206 "ggobi-data.h" 206 #line 186 "data.gob" 207 void ggobi_data_set_ncols (GGobiData * self, 208 guint val); 209 #line 210 "ggobi-data.h" 210 #line 193 "data.gob" 211 void ggobi_data_col_name_changed (GGobiData * self, 212 int j); 213 #line 214 "ggobi-data.h" 214 #line 235 "data.gob" 215 GGobiData * ggobi_data_new (guint nrows, 216 guint ncols); 217 #line 218 "ggobi-data.h" 218 #line 248 "data.gob" 219 gchar * ggobi_data_get_name (GGobiData * self); 220 #line 221 "ggobi-data.h" 221 #line 254 "data.gob" 222 void ggobi_data_set_name (GGobiData * self, 223 gchar * name, 224 gchar * nickname); 225 #line 226 "ggobi-data.h" 226 #line 264 "data.gob" 227 guint ggobi_data_get_n_cols (GGobiData * self); 228 #line 229 "ggobi-data.h" 229 #line 269 "data.gob" 230 guint ggobi_data_get_n_rows (GGobiData * self); 231 #line 232 "ggobi-data.h" 232 #line 275 "data.gob" 233 gchar * ggobi_data_get_col_name (GGobiData * self, 234 guint j); 235 #line 236 "ggobi-data.h" 236 #line 282 "data.gob" 237 void ggobi_data_set_col_name (GGobiData * self, 238 guint j, 239 gchar * value); 240 #line 241 "ggobi-data.h" 241 #line 309 "data.gob" 242 gchar * ggobi_data_get_transformed_col_name (GGobiData * self, 243 guint j); 244 #line 245 "ggobi-data.h" 245 #line 316 "data.gob" 246 void ggobi_data_set_transformed_col_name (GGobiData * self, 247 guint j, 248 gchar * value); 249 #line 250 "ggobi-data.h" 250 #line 330 "data.gob" 251 void ggobi_data_set_missing (GGobiData * self, 252 guint i, 253 guint j); 254 #line 255 "ggobi-data.h" 255 #line 338 "data.gob" 256 gboolean ggobi_data_is_missing (GGobiData * self, 257 guint i, 258 guint j); 259 #line 260 "ggobi-data.h" 260 #line 344 "data.gob" 261 gboolean ggobi_data_has_missings (GGobiData * self); 262 #line 263 "ggobi-data.h" 263 #line 351 "data.gob" 264 guint ggobi_data_get_col_n_missing (GGobiData * self, 265 guint j); 266 #line 267 "ggobi-data.h" 267 #line 362 "data.gob" 268 void ggobi_data_set_raw_values (GGobiData * self, 269 guint j, 270 gdouble * values); 271 #line 272 "ggobi-data.h" 272 #line 371 "data.gob" 273 void ggobi_data_set_raw_value (GGobiData * self, 274 guint i, 275 guint j, 276 gdouble value); 277 #line 278 "ggobi-data.h" 278 #line 419 "data.gob" 279 gchar * ggobi_data_get_string_value (GGobiData * self, 280 guint i, 281 guint j, 282 gboolean transformed); 283 #line 284 "ggobi-data.h" 284 #line 445 "data.gob" 285 gboolean ggobi_data_has_edges (GGobiData * self); 286 #line 287 "ggobi-data.h" 287 #line 451 "data.gob" 288 gboolean ggobi_data_has_variables (GGobiData * self); 289 #line 290 "ggobi-data.h" 290 291 /* 292 * Signal connection wrapper macros 293 */ 294 #if defined(__GNUC__) && !defined(__STRICT_ANSI__) 295 #define ggobi_data_connect__rows_in_plot_changed(object,func,data) g_signal_connect(GGOBI_DATA(__extension__ ({GGobiData *___object = (object); ___object; })),"rows_in_plot_changed",(GCallback) __extension__ ({void (* ___rows_in_plot_changed) (GGobiData * ___fake___self, int ___fake___arg1, int ___fake___arg2, ggobid * ___fake___arg3, gpointer ___data ) = (func); ___rows_in_plot_changed; }), (data)) 296 #define ggobi_data_connect_after__rows_in_plot_changed(object,func,data) g_signal_connect_after(GGOBI_DATA(__extension__ ({GGobiData *___object = (object); ___object; })),"rows_in_plot_changed",(GCallback) __extension__ ({void (* ___rows_in_plot_changed) (GGobiData * ___fake___self, int ___fake___arg1, int ___fake___arg2, ggobid * ___fake___arg3, gpointer ___data ) = (func); ___rows_in_plot_changed; }), (data)) 297 #define ggobi_data_connect_data__rows_in_plot_changed(object,func,data,destroy_data,flags) g_signal_connect_data(GGOBI_DATA(__extension__ ({GGobiData *___object = (object); ___object; })),"rows_in_plot_changed",(GCallback) __extension__ ({void (* ___rows_in_plot_changed) (GGobiData * ___fake___self, int ___fake___arg1, int ___fake___arg2, ggobid * ___fake___arg3, gpointer ___data ) = (func); ___rows_in_plot_changed; }), (data), (destroy_data), (GConnectFlags)(flags)) 298 #define ggobi_data_connect__col_name_changed(object,func,data) g_signal_connect(GGOBI_DATA(__extension__ ({GGobiData *___object = (object); ___object; })),"col_name_changed",(GCallback) __extension__ ({void (* ___col_name_changed) (GGobiData * ___fake___self, int ___fake___j, gpointer ___data ) = (func); ___col_name_changed; }), (data)) 299 #define ggobi_data_connect_after__col_name_changed(object,func,data) g_signal_connect_after(GGOBI_DATA(__extension__ ({GGobiData *___object = (object); ___object; })),"col_name_changed",(GCallback) __extension__ ({void (* ___col_name_changed) (GGobiData * ___fake___self, int ___fake___j, gpointer ___data ) = (func); ___col_name_changed; }), (data)) 300 #define ggobi_data_connect_data__col_name_changed(object,func,data,destroy_data,flags) g_signal_connect_data(GGOBI_DATA(__extension__ ({GGobiData *___object = (object); ___object; })),"col_name_changed",(GCallback) __extension__ ({void (* ___col_name_changed) (GGobiData * ___fake___self, int ___fake___j, gpointer ___data ) = (func); ___col_name_changed; }), (data), (destroy_data), (GConnectFlags)(flags)) 301 #else /* __GNUC__ && !__STRICT_ANSI__ */ 302 #define ggobi_data_connect__rows_in_plot_changed(object,func,data) g_signal_connect(GGOBI_DATA(object),"rows_in_plot_changed",(GCallback)(func),(data)) 303 #define ggobi_data_connect_after__rows_in_plot_changed(object,func,data) g_signal_connect_after(GGOBI_DATA(object),"rows_in_plot_changed",(GCallback)(func),(data)) 304 #define ggobi_data_connect_data__rows_in_plot_changed(object,func,data,destroy_data,flags) g_signal_connect_data(GGOBI_DATA(object),"rows_in_plot_changed",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags)) 305 #define ggobi_data_connect__col_name_changed(object,func,data) g_signal_connect(GGOBI_DATA(object),"col_name_changed",(GCallback)(func),(data)) 306 #define ggobi_data_connect_after__col_name_changed(object,func,data) g_signal_connect_after(GGOBI_DATA(object),"col_name_changed",(GCallback)(func),(data)) 307 #define ggobi_data_connect_data__col_name_changed(object,func,data,destroy_data,flags) g_signal_connect_data(GGOBI_DATA(object),"col_name_changed",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags)) 308 #endif /* __GNUC__ && !__STRICT_ANSI__ */ 309 310 311 /* 312 * Argument wrapping macros 313 */ 314 #if defined(__GNUC__) && !defined(__STRICT_ANSI__) 315 #define GGOBI_DATA_PROP_NROWS(arg) "nrows", __extension__ ({guint z = (arg); z;}) 316 #define GGOBI_DATA_GET_PROP_NROWS(arg) "nrows", __extension__ ({guint *z = (arg); z;}) 317 #define GGOBI_DATA_PROP_NCOLS(arg) "ncols", __extension__ ({guint z = (arg); z;}) 318 #define GGOBI_DATA_GET_PROP_NCOLS(arg) "ncols", __extension__ ({guint *z = (arg); z;}) 319 #else /* __GNUC__ && !__STRICT_ANSI__ */ 320 #define GGOBI_DATA_PROP_NROWS(arg) "nrows",(guint )(arg) 321 #define GGOBI_DATA_GET_PROP_NROWS(arg) "nrows",(guint *)(arg) 322 #define GGOBI_DATA_PROP_NCOLS(arg) "ncols",(guint )(arg) 323 #define GGOBI_DATA_GET_PROP_NCOLS(arg) "ncols",(guint *)(arg) 324 #endif /* __GNUC__ && !__STRICT_ANSI__ */ 325 326 327 328 329 void freeLevelHashEntry(gpointer key, gpointer value, gpointer data); 330 331 /*-- used as an attribute of variable notebooks --*/ 332 typedef enum {no_edgesets, edgesets_only, all_datatypes} datatyped; 333 334 extern endpointsd *resolveEdgePoints(GGobiData *e, GGobiData *d); 335 void unresolveAllEdgePoints(GGobiData *e); 336 337 void datad_record_ids_set(GGobiData *d, gchar **ids, gboolean duplicate); 338 void ggobi_data_set_row_labels(GGobiData *d, gchar **labels); 339 340 341 #ifdef __cplusplus 342 } 343 #endif /* __cplusplus */ 344 345 #endif 346