1 /* cpanel.c : control panel */
2 /*
3 * ggobi
4 * Copyright (C) AT&T, Duncan Temple Lang, Dianne Cook 1999-2005
5 *
6 * ggobi is free software; you may use, redistribute, and/or modify it
7 * under the terms of the Eclipse 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:
10 *
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
15 */
16
17 #include <gtk/gtk.h>
18
19 #include "vars.h"
20 #include "externs.h"
21
22 void
scatterplot_cpanel_init(cpaneld * cpanel,ProjectionMode pmode,InteractionMode imode,ggobid * gg)23 scatterplot_cpanel_init (cpaneld * cpanel, ProjectionMode pmode,
24 InteractionMode imode, ggobid * gg)
25 {
26 cpanel->pmode = pmode; /* XYPlot */
27 cpanel->imode = imode; /* DEFAULT */
28
29 /*-- 1d plots --*/
30 cpanel->p1d.type = ASH;
31 cpanel_p1d_init (cpanel, gg);
32 cpanel_xyplot_init (cpanel, gg);
33 cpanel_t2d3_init (cpanel, gg);
34 cpanel_t2d_init (cpanel, gg);
35 cpanel_t1d_init (cpanel, gg);
36 cpanel_tcorr_init (cpanel, gg);
37
38 cpanel_brush_init (cpanel, gg);
39 cpanel_scale_init (cpanel, gg);
40 cpanel_edgeedit_init (cpanel, gg);
41 cpanel_identify_init (cpanel, gg);
42 }
43
44 void
scatmat_cpanel_init(cpaneld * cpanel,ggobid * gg)45 scatmat_cpanel_init (cpaneld * cpanel, ggobid * gg)
46 {
47 cpanel->pmode = EXTENDED_DISPLAY_PMODE;
48 cpanel->imode = DEFAULT_IMODE;
49
50 /*-- 1d plots --*/
51 cpanel->p1d.type = ASH;
52 cpanel_p1d_init (cpanel, gg);
53
54 /*-- available modes --*/
55 cpanel_brush_init (cpanel, gg);
56 cpanel_identify_init (cpanel, gg);
57 }
58
59 void
parcoords_cpanel_init(cpaneld * cpanel,ggobid * gg)60 parcoords_cpanel_init (cpaneld * cpanel, ggobid * gg)
61 {
62 cpanel->pmode = EXTENDED_DISPLAY_PMODE;
63 cpanel->imode = DEFAULT_IMODE;
64
65 /*-- 1d plots --*/
66 cpanel->p1d.type = DOTPLOT;
67 cpanel_p1d_init (cpanel, gg);
68
69 cpanel->parcoords_arrangement = ARRANGE_ROW;
70
71 /*-- available modes --*/
72 cpanel_brush_init (cpanel, gg);
73 cpanel_identify_init (cpanel, gg);
74 }
75
76
77 void
cpanel_set(displayd * display,ggobid * gg)78 cpanel_set (displayd * display, ggobid * gg)
79 {
80 cpaneld *cpanel = &display->cpanel;
81 gboolean displaytype_known = true;
82
83 if (GGOBI_IS_EXTENDED_DISPLAY (display)) {
84 displaytype_known =
85 GGOBI_EXTENDED_DISPLAY_GET_CLASS (display)->cpanel_set (display, cpanel,
86 gg);
87 }
88
89 if (displaytype_known) {
90 viewmode_set (cpanel->pmode, cpanel->imode, gg);
91 }
92 }
93