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