4
* Copyright (C) AT&T, Duncan Temple Lang, Dianne Cook 1999-2005
6
* ggobi is free software; you may use, redistribute, and/or modify it
7
* under the terms of the Common Public License, which is distributed
8
* with the source code and displayed on the ggobi web site,
9
* www.ggobi.org. For more information, contact the authors:
11
* Deborah F. Swayne dfs@research.att.com
12
* Di Cook dicook@iastate.edu
13
* Duncan Temple Lang duncan@wald.ucdavis.edu
14
* Andreas Buja andreas.buja@wharton.upenn.edu
18
#ifndef GGOBI_DEFINES_H
19
#define GGOBI_DEFINES_H
21
#include <gtk/gtk.h> /* Needed for ViewTypes. Can be moved. */
25
/* External/public routines in the API should use this
26
to generate a suitable prefix for their name to avoid
27
name-space pollution and symbol conflicts.
30
#define GGOBI(a) GGobi_##a
43
#define NDISPLAYTYPES 3
45
extern const gchar* const ViewTypes[NDISPLAYTYPES];
46
extern const gint ViewTypeIndices[NDISPLAYTYPES];
48
/*-- used in movepts --*/
49
enum directiond {both, vertical, horizontal};
51
enum idtargetd {identify_points, identify_edges};
54
/* When these change, update display.c and RSggobi/RSGGobi.c accordingly */
57
#define DOPT_AXESLAB 2
58
#define DOPT_AXESVALS 3
59
#define DOPT_EDGES_U 4
60
#define DOPT_EDGES_A 5
61
#define DOPT_EDGES_D 6
62
#define DOPT_EDGES_H 7
63
#define DOPT_WHISKERS 8
65
#define DOPT_GRIDLINES 5
66
#define DOPT_MISSINGS 5
68
#define DOPT_BUFFER 10
74
typedef enum {NULLMODE = -1
75
P1PLOT, XYPLOT, TOUR1D,
76
TOUR2D3, TOUR2D, COTOUR,
77
SCALE, BRUSH, IDENT, EDGEED, MOVEPTS,
79
EXTENDED_DISPLAY_MODE,
83
typedef enum {NULL_PMODE = -1, DEFAULT_PMODE,
90
EXTENDED_DISPLAY_PMODE, N_PMODES} ProjectionMode;
91
typedef enum {NULL_IMODE = -1, DEFAULT_IMODE,
97
EXTENDED_DISPLAY_IMODE, N_IMODES} InteractionMode;
121
* EXP1: Raw data are scaled to -2^EXP1, +2^EXP1
122
* EXP2: Trigonometric coefficients are scaled up by 2^EXP2 to do
128
#define PRECISION1 16384
129
#define PRECISION2 8192
131
/*-- spacing for the control panels --*/
132
#define VBOX_SPACING 5
135
#define VAR_CIRCLE_DIAM 36
137
#define MIN_NVARS_FOR_COTOUR 3 /* require: 3 in subset, 2 active */
138
/* at least 1 vert, at least 1 horiz */
139
#define MIN_NVARS_FOR_TOUR2D 3 /* require: 3 in subset, 2 active */
140
#define MIN_NVARS_FOR_TOUR1D 2 /* require: 2 in subset, 1 active */
141
#define MIN_NVARS_FOR_TOUR2D3 3 /* exactly 3 in subset, 3 active */
143
/*#define TOURSTEP0 0.003*/
144
#define TOURSTEP0 0.102 /* corresponds to slidepos=50 */
146
#define TOUR_LS_OUT 1
149
#define M_PI_2 1.57079632679489661923
153
#define MANIP_OBLIQUE 1
156
#define MANIP_RADIAL 4
157
#define MANIP_ANGULAR 5
160
#define CMANIP_COMB 1
161
#define CMANIP_VERT 2
163
#define CMANIP_EQUAL 4
165
#define TOUR_RANDOM 0
168
/*-- projection pursuit indices --*/
169
/*#define NATURAL_HERMITE 0
171
#define CENTRAL_MASS 2
178
#define BIN_ENTROPY 9
182
#define CART_ENTROPY 13
186
/* Used in parallel coordinates displays */
187
typedef enum {ARRANGE_ROW, ARRANGE_COL} ParCoordsArrangeMode;
191
/*-- transformation --*/
195
#define RAISE_MIN_TO_0 1
196
#define RAISE_MIN_TO_1 2
209
#define STANDARDIZE 1
219
#define STICKY_TOGGLE 0
221
#define STICKY_REMOVE 2
223
enum {ID_RECORD_ID = 1 << 3, ID_RECORD_LABEL = 1 << 2, ID_RECORD_NO = 1 << 1, ID_VAR_LABELS = 1 << 0};
235
#define SCALE_DEFAULT 0.7
236
#define TOUR_SCALE_DEFAULT 0.6
237
#define SCALE_MIN 0.02
238
#define SCALE_SCROLL_INC 0.1
258
/*-- color by variable --*/
259
#define WVIS_EQUAL_WIDTH_BINS 0
260
#define WVIS_EQUAL_COUNT_BINS 1
262
#define WVIS_UPDATE_ON_MOUSE_UP 0
263
#define WVIS_UPDATE_CONTINUOUSLY 1
266
/*-- variable notebook columns --*/
267
enum { VARLIST_NAME, VARLIST_INDEX, VARLIST_NCOLS };
271
#define EVENT_METHOD(i,x) GTK_OBJECT_GET_CLASS(GTK_OBJECT(i))->x
273
#define BETWEEN(a,b,x) ( ((a)<=(x) && (x)<=(b)) || ((a)>=(x) && (x)>=(b)) )
281
} ProgrammingLanguage;
283
#if GTK_CHECK_VERSION(2,8,0) && defined CAIRO_HAS_GLITZ_SURFACE
284
//#define ENABLE_CAIRO 1
287
#endif /* End of conditional definition. */