/usr/include/ggobi/externs.h is in ggobi 2.1.10-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 | /* externs.h */
/*
* ggobi
* Copyright (C) AT&T, Duncan Temple Lang, Dianne Cook 1999-2005
*
* ggobi is free software; you may use, redistribute, and/or modify it
* under the terms of the Common Public License, which is distributed
* with the source code and displayed on the ggobi web site,
* www.ggobi.org. For more information, contact the authors:
*
* Deborah F. Swayne dfs@research.att.com
* Di Cook dicook@iastate.edu
* Duncan Temple Lang duncan@wald.ucdavis.edu
* Andreas Buja andreas.buja@wharton.upenn.edu
*/
#ifndef GGOBI_S_H
#define GGOBI_S_H
#include <stdio.h>
#ifndef DEFINES_H
#include "defines.h"
#endif
#include "barchartDisplay.h"
#ifdef __cplusplus
extern "C" {
#endif
GtkWidget * mode_panel_get_by_name(const gchar *, ggobid *);
InteractionMode imode_get(ggobid *); /* this should probably also
change */
ProjectionMode pmode_get(displayd *, ggobid *);
void pmode_set_cb (GtkWidget *widget, gint action);
void imode_set_cb (GtkWidget *widget, gint action);
void main_miscmenus_update (ProjectionMode, InteractionMode, displayd *, ggobid *gg);
void viewmode_set(ProjectionMode, InteractionMode, ggobid *);
gint GGOBI(full_viewmode_set)(ProjectionMode, InteractionMode, ggobid*);
RedrawStyle brush_activate (gboolean, displayd *, splotd *, ggobid *);
RedrawStyle edgeedit_activate (gboolean state, displayd *display, ggobid *gg);
RedrawStyle identify_activate (gint, displayd *, ggobid *);
RedrawStyle p1d_activate (gint, displayd *, ggobid *);
RedrawStyle imode_activate (splotd *, ProjectionMode, InteractionMode, gboolean, ggobid *);
RedrawStyle xyplot_activate (gint, displayd *, ggobid *);
/* reverse pipeline */
void pt_screen_to_plane (icoords *screen, gint id, gboolean horiz, gboolean vert, gcoords *eps, gcoords *planar, splotd *sp);
void pt_plane_to_world (splotd *sp, gcoords *planar, gcoords *eps, greal *world);
void pt_world_to_raw_by_var (gint j, greal *world, greal *raw, GGobiData *d);
/* sort -t":" -k1.12 */
gboolean array_contains (gint* arr, gint n, gint el);
void edgeedit_init (ggobid * gg);
GtkWidget* CreateMenuCheck (GtkWidget *, gchar *, GtkSignalFunc, gpointer, gboolean, ggobid *);
GtkWidget* CreateMenuItem (GtkWidget *, gchar *, gchar *, gchar *, GtkWidget *, GtkAccelGroup *, GtkSignalFunc, gpointer, ggobid *) ;
GtkWidget* CreateMenuItemWithCheck (GtkWidget *, gchar *, gchar *, gchar *, GtkWidget *, GtkAccelGroup *, GtkSignalFunc, gpointer, ggobid *, GSList *, gboolean check) ;
ggobid* GGobiFromDisplay (displayd *display);
ggobid* GGobiFromSPlot (splotd *sp);
ggobid* GGobiFromWidget (GtkWidget *w, gboolean);
ggobid* GGobiFromWindow (GdkWindow *w);
void GGobi_addToolAction (GtkActionEntry *entry, gpointer *data, ggobid *gg);
GtkWidget* GGobi_addToolsMenuItem (gchar *label, ggobid *gg);
gboolean GGobi_addToolsMenuWidget(GtkWidget *entry, ggobid *gg);
void GGobi_widget_set (GtkWidget *, ggobid *gg, gboolean isWindow);
GGobiData* ValidateDatadRef (GGobiData *d, ggobid *gg, gboolean fatal);
displayd* ValidateDisplayRef(displayd *d, ggobid *gg, gboolean fatal);
ggobid* ValidateGGobiRef (ggobid *gg, gboolean fatal);
#ifdef STORE_SESSION_ENABLED
xmlNodePtr XML_addVariable(xmlNodePtr node, gint j, GGobiData *d);
#endif
void addvar_propagate (gint ncols_prev, gint ncols_added, GGobiData *);
gint alloc_optimize0_p (optimize0_param *op, gint nrows, gint ncols, gint ndim);
gint alloc_pp (pp_param *pp, gint nrows, gint ncols, gint ndim);
gboolean array_contains (gint* arr, gint n, gint el);
void arrayd_add_cols (array_d *, gint);
void arrayd_add_rows (array_d *, gint);
void arrayd_alloc (array_d *, gint, gint);
void arrayd_alloc_zero (array_d *, gint, gint);
void arrayd_copy (array_d *, array_d *);
void arrayd_delete_cols (array_d *, gint, gint *);
void arrayd_free (array_d *, gint, gint);
void arrayd_init_null (array_d *);
void arrayd_zero (array_d *);
void arrayf_add_cols (array_f *, gint);
void arrayf_add_rows (array_f *, gint);
void arrayf_alloc (array_f *, gint, gint);
void arrayf_alloc_zero (array_f *, gint, gint);
void arrayf_copy (array_f *, array_f *);
void arrayf_delete_cols (array_f *, gint, gint *);
void arrayf_free (array_f *, gint, gint);
void arrayf_init_null (array_f *);
void arrayf_zero (array_f *);
void arrayg_add_cols (array_g *, gint);
void arrayg_add_rows (array_g *, gint);
void arrayg_alloc (array_g *, gint, gint);
void arrayg_alloc_zero (array_g *, gint, gint);
void arrayg_delete_cols (array_g *, gint, gint *);
void arrayg_free (array_g *, gint, gint);
void arrayg_init_null (array_g *);
void arrayg_zero (array_g *);
void arrayl_add_cols (array_l *, gint);
void arrayl_add_rows (array_l *, gint);
void arrayl_alloc (array_l *, gint, gint);
void arrayl_alloc_zero (array_l *, gint, gint);
void arrayl_delete_cols (array_l *, gint, gint *);
void arrayl_free (array_l *, gint, gint);
void arrayl_init_null (array_l *);
void arrayl_zero (array_l *);
void arrays_add_cols (array_s *, gint);
void arrays_add_rows (array_s *, gint);
void arrays_alloc (array_s *, gint, gint);
void arrays_alloc_zero (array_s *, gint, gint);
void arrays_delete_cols (array_s *, gint, gint *);
void arrays_free (array_s *, gint, gint);
void arrays_init_null (array_s *);
void arrays_zero (array_s *);
void ash_baseline_set (icoords *, splotd *sp);
void assign_points_to_bins (GGobiData *, splotd *, ggobid *);
gboolean bizarro_update_hidden_vectors (gint i, gboolean changed, gboolean *hit_by_brush, GGobiData *d, ggobid *gg);
void br_color_ids_add (GGobiData *d, ggobid *gg);
void br_color_ids_alloc (GGobiData *);
void br_color_ids_init (GGobiData *);
gboolean br_edge_vectors_check_size (gint, GGobiData *, ggobid *);
void br_glyph_ids_add (GGobiData *d, ggobid *gg);
void br_glyph_ids_alloc (GGobiData *);
void br_glyph_ids_init (GGobiData *);
void br_hidden_alloc (GGobiData *);
void br_hidden_init (GGobiData *);
void brush_draw_brush (splotd *, GdkDrawable *, GGobiData *, ggobid *);
void brush_draw_label (splotd *, GdkDrawable *, GGobiData *, ggobid *);
void brush_event_handlers_toggle (splotd *, gboolean);
void brush_init (GGobiData *, ggobid *);
gboolean brush_motion (icoords *, gboolean, gboolean, cpaneld *, splotd *, ggobid *);
void brush_on_set (gboolean, displayd *, ggobid *);
gboolean brush_once (gboolean force, splotd *, ggobid *);
gboolean brush_once_and_redraw (gboolean binningp, splotd *sp, displayd *display, ggobid *gg);
void brush_pos_init (splotd *);
void brush_prev_vectors_update (GGobiData *, ggobid *);
void brush_reset(displayd *display, gint action);
void brush_set_pos (gint, gint, splotd *);
void brush_undo (splotd *, GGobiData *, ggobid *);
void brush_update_set (gboolean, displayd *, ggobid *);
gboolean build_symbol_vectors_by_var (cpaneld *, GGobiData *, ggobid *);
gdouble calc_norm (gdouble *, gint);
gint checkLevelValue(vartabled *vt, gdouble value);
gboolean checkequiv(gdouble **u0, gdouble **u1, gint nc, gint nd);
void clone_vars (gint *cols, gint ncols, GGobiData *);
void cluster_free (gint, GGobiData *, ggobid *);
void cluster_table_labels_update (GGobiData *d, ggobid *gg);
void cluster_table_update (GGobiData *, ggobid *);
void cluster_window_open (ggobid *);
void clusters_set (GGobiData *, ggobid *);
void collab_tform_update (gint j, GGobiData *d);
gboolean colors_remap (colorschemed *scheme, gboolean force, ggobid *gg);
void colorscheme_init (colorschemed *scheme);
gchar* computeTitle (gboolean, displayd *, ggobid *);
void copy_mat(gdouble **, gdouble **, gint, gint);
void cpanel_brush_init (cpaneld *, ggobid *);
void cpanel_brush_make (ggobid *);
void cpanel_brush_set (displayd *, cpaneld *, ggobid *);
void cpanel_ctour_make (ggobid *);
void cpanel_edgeedit_init (cpaneld *, ggobid *);
void cpanel_edgeedit_make (ggobid *);
void cpanel_edgeedit_set (displayd *, cpaneld *, ggobid *);
void cpanel_identify_init (cpaneld *, ggobid *);
void cpanel_identify_make (ggobid *);
void cpanel_identify_set (displayd *, cpaneld *, ggobid *);
void cpanel_movepts_make (ggobid *);
void cpanel_p1d_init (cpaneld *, ggobid *);
void cpanel_p1d_set (displayd *, cpaneld *, ggobid *);
void cpanel_p1dplot_make (ggobid *);
GtkWidget *cpanel_parcoords_make (ggobid *);
void cpanel_parcoords_set (displayd *, cpaneld *, GtkWidget *panel, ggobid *);
void cpanel_scale_init (cpaneld *, ggobid *);
void cpanel_scale_make (ggobid *);
void cpanel_scale_set (displayd *, cpaneld *, ggobid *);
GtkWidget *cpanel_scatmat_make (ggobid *);
void cpanel_scatmat_set (displayd *, cpaneld *, ggobid *);
void cpanel_set (displayd *, ggobid *);
void cpanel_show (gboolean show, ggobid *gg);
void cpanel_t1d_init (cpaneld *, ggobid *);
void cpanel_t2d3_init (cpaneld *, ggobid *);
void cpanel_t2d_init (cpaneld *, ggobid *);
void cpanel_tcorr_init (cpaneld *, ggobid *);
void cpanel_tour1d_make (ggobid *);
void cpanel_tour1d_set (displayd *, cpaneld *, ggobid *);
void cpanel_tour2d3_make (ggobid *);
void cpanel_tour2d3_set (displayd *, cpaneld *, ggobid *);
void cpanel_tour2d_make (ggobid *);
void cpanel_tour2d_set (displayd *, cpaneld *, ggobid *);
void cpanel_tourcorr_set (displayd *, cpaneld *, ggobid *);
void cpanel_xyplot_init (cpaneld *, ggobid *);
void cpanel_xyplot_make (ggobid *);
void cpanel_xyplot_set (displayd *, cpaneld *, ggobid *);
displayd * createDisplayFromDescription (ggobid *, GGobiDisplayDescription *desc);
GtkWidget* create_variable_notebook (GtkWidget *box, GtkSelectionMode mode, vartyped vtype, datatyped dtype, GtkSignalFunc func, gpointer func_data, ggobid *);
typedef const gchar ** (*GGobiVariableNotebookPrefixFunc) (GtkWidget *notebook, GGobiData *d, gint *sel_prefix, gint *n_prefices);
GtkWidget* create_prefixed_variable_notebook (GtkWidget *box, GtkSelectionMode mode, vartyped vtype, datatyped dtype, GtkSignalFunc func, gpointer func_data, ggobid *, GGobiVariableNotebookPrefixFunc prefix_func);
void ctour_event_handlers_toggle (splotd *, gboolean);
void ctourpp_window_open (ggobid *);
colorschemed* default_scheme_init ();
gushort datad_colors_used_get (gint *ncolors_used, gushort *colors_used, GGobiData *, ggobid *);
void datad_free (GGobiData *, ggobid *);
GGobiData* datad_get_from_notebook (GtkWidget *notebook, ggobid *);
displayd* datad_init (GGobiData *, ggobid *, gboolean);
void datad_record_id_add (gchar *ids, GGobiData *d);
void datad_record_id_add (gchar *ids, GGobiData *d);
gint delete_vars (gint *, gint, GGobiData *);
void disconnect_button_press_signal (splotd *sp);
void disconnect_button_release_signal (splotd *sp);
void disconnect_key_press_signal (splotd *sp);
void disconnect_scroll_signal (splotd *sp);
void disconnect_motion_signal (splotd *sp);
gint display_add(displayd *display, ggobid *);
displayd* display_alloc_init (gboolean, GGobiData *, ggobid *);
void display_close (displayd *d);
gboolean display_copy_edge_options (displayd *dsp, displayd *dspnew);
void display_delete_cb (GtkWidget *, GdkEvent *, displayd *);
void display_free (displayd *, gboolean force, ggobid *);
void display_free_all (ggobid *);
void display_mode_menus_update (ProjectionMode, InteractionMode, displayd *, ggobid *);
void display_menu_build (ggobid *);
void display_menu_init (ggobid *);
void display_new (ggobid *, guint action, GtkWidget *widget);
void display_plot (displayd *display, RedrawStyle type, ggobid *);
void display_print (displayd *d);
void display_set_current (displayd *, ggobid *);
void display_set_position (windowDisplayd *d, ggobid *gg);
GtkUIManager *display_menu_manager_create(displayd *d);
void show_display_control_panel (displayd *display);
void display_tailpipe (displayd *, RedrawStyle, ggobid *);
void display_tour1d_init (displayd *dsp, ggobid *gg);
void display_tour1d_init_null (displayd *dsp, ggobid *gg);
void display_tour2d3_init (displayd *, ggobid *);
void display_tour2d3_init_null (displayd *, ggobid *);
void display_tour2d_init (displayd *dsp, ggobid *gg);
void display_tour2d_init_null (displayd *dsp, ggobid *gg);
void display_tourcorr_init (displayd *dsp, ggobid *gg);
void display_tourcorr_init_null (displayd *dsp, ggobid *gg);
gboolean display_type_handles_projection (displayd *, ProjectionMode);
gboolean display_type_handles_interaction (displayd *, InteractionMode);
void display_window_init (windowDisplayd *, gint, gint, gint, ggobid *);
void displays_plot (splotd *, RedrawStyle, ggobid *);
void displays_tailpipe (RedrawStyle, ggobid *);
void set_display_options(displayd *display, ggobid *gg);
void set_display_option(gboolean active, guint action, displayd *display);
gint do_ash1d (gfloat *, gint, gint, gint, gfloat *, gfloat *, gfloat *, gfloat *);
void do_last_increment (vector_f, vector_f, gfloat, gint);
void draw_3drectangle (GtkWidget *w, GdkDrawable *drawable, gint x, gint y, gint width, gint height, ggobid *gg);
void draw_glyph (GdkDrawable *, glyphd *, icoords *, gint, ggobid *);
gint dsvd (gdouble **a, gint m, gint n, gfloat *w, gdouble **v);
/* pango utils */
void layout_text(PangoLayout *layout, const gchar *text, PangoRectangle *rect);
void underline_text(PangoLayout *layout);
ProjectionMode pmode_get(displayd *, ggobid *);
InteractionMode imode_get(ggobid *);
gboolean edge_add (gint, gint, gchar *, gchar *, GGobiData *, GGobiData *, ggobid *);
gboolean edge_endpoints_get (gint k, gint *a, gint *b, GGobiData *d, endpointsd *endpoints, GGobiData *e);
void edgeedit_event_handlers_toggle (splotd *, gboolean);
void edges_alloc (gint, GGobiData *);
void edges_free (GGobiData *, ggobid *);
gboolean edgeset_add (displayd *);
void edgeset_add_cb (GtkAction *action, GGobiData *e);
gint edgesets_count (ggobid *gg);
void eigenvals_get (gfloat *, GGobiData *);
gboolean exclude_link_by_id (gint k, GGobiData *source_d, ggobid *gg);
gint fcompare (const void *x1, const void *x2);
gint icompare (const void *x1, const void *x2);
gint scompare (const void *x1, const void *x2);
void filename_get_r (ggobid *);
void filename_get_w (GtkWidget *, ggobid *);
GSList* fileset_read (const gchar *, const gchar *modeName, GGobiPluginInfo *, ggobid *);
gboolean fileset_read_init (const gchar *ldata_in, const gchar *, GGobiPluginInfo *, ggobid *);
void find_glyph_type_and_size (gint, glyphd *);
gint find_keepers (gint ncols_current, gint nc, gint *cols, gint *keepers);
gint find_nearest_edge (splotd *sp, displayd *display, ggobid *gg);
gint find_nearest_point (icoords *, splotd *, GGobiData *, ggobid *);
gint free_optimize0_p (optimize0_param *op);
gint free_pp (pp_param *pp);
GList* g_list_remove_nth (GList *, gint);
GList* g_list_replace_nth (GList *, gpointer, gint);
gint getPreviousDisplays(xmlNodePtr node, GGobiDescription *desc);
GtkWidget* get_tree_view_from_object (GObject *);
void get_extended_brush_corners (icoords *, icoords *, GGobiData *, splotd *);
gint get_one_selection_from_tree_view (GtkWidget *tree_view, GGobiData *d);
gint* get_selections_from_tree_view (GtkWidget *, gint *);
void select_tree_view_row(GtkWidget *tree_view, gint row);
gint tree_selection_get_selected_row(GtkTreeSelection *tree_sel);
void gg_write_to_statusbar (gchar *message, ggobid *gg);
ggobid* ggobi_alloc (ggobid *tmp);
/*gboolean ggobi_data_set_time_var(GGobiData *d, int which, gboolean value);
vartyped ggobi_data_set_var_type(GGobiData *d, int which, vartyped value);*/
gboolean ggobi_file_set_create (gchar *rootname, GGobiData *, ggobid *);
ggobid* ggobi_get (gint);
gint ggobi_getIndex(ggobid *gg);
void ggobi_sleep(guint);
void globals_init (ggobid *);
gboolean gram_schmidt (gdouble *, gdouble*, gint);
void gt_basis (array_d, gint, vector_i, gint, gint);
gboolean hasEdgePoints(GGobiData *e, GGobiData *d);
void identify_event_handlers_toggle (splotd *, gboolean);
gchar * identify_label_fetch (gint k, cpaneld *cpanel, GGobiData *d, ggobid *);
void identify_link_by_id (gint k, GGobiData *source_d, ggobid *gg);
gboolean impute_fixed (ImputeType, gfloat val, int nvars, gint *vars, GGobiData *, ggobid *);
gboolean impute_mean_or_median (gint, gint, gint *, GGobiData *, ggobid *);
void impute_random (GGobiData *, gint nvars, gint *vars, ggobid *);
void impute_window_open (ggobid *);
gboolean in_vector (gint k, gint *vec, gint nels);
gint include_hiddens (gboolean include, GGobiData *d, ggobid *gg);
void increment_tour(vector_f, vector_f, gfloat, gfloat, gfloat *, gint);
void initSessionOptions(int argc, char **argv);
void init_plot_GC (GdkWindow *, ggobid *);
void init_var_GCs (GtkWidget *, ggobid *);
gdouble inner_prod (gdouble *, gdouble *, gint);
gboolean isCrossed (gdouble, gdouble, gdouble, gdouble, gdouble, gdouble, gdouble, gdouble);
gfloat jitter_randval (gint);
void jitter_value_set (gfloat, GGobiData *, ggobid *);
void jitter_vars_init (GGobiData *);
void jitter_window_open (ggobid *);
void limits_adjust (gfloat *, gfloat *);
void limits_display_set_by_var (GGobiData *d, gint j, gboolean);
void limits_set (GGobiData *, gboolean do_raw, gboolean do_tform, gboolean);
void limits_set_by_var (GGobiData *, gint, gboolean do_raw, gboolean do_tform, gboolean);
gint lines_intersect (glong, glong, glong, glong, glong, glong, glong, glong);
gint lwidth_from_gsize(gint size);
gint ltype_from_gtype(gint type);
gint set_lattribute_from_ltype(gint, ggobid *);
void linkby_current_page_set (displayd *, GtkWidget *w, ggobid *);
void linking_method_set (displayd *, GGobiData *, ggobid *);
void make_ggobi (GGobiOptions *, gboolean, ggobid *);
void make_symbol_window (ggobid *);
void make_ui (ggobid *);
GlyphType mapGlyphName (const gchar *gtype);
void missing_arrays_add_cols (GGobiData *d);
void missings_datad_cb (GtkWidget *w, ggobid *gg);
gboolean mouseinwindow (splotd *);
void mousepos_get_motion (GtkWidget *, GdkEventMotion *, gboolean *, gboolean *, splotd *);
void mousepos_get_pressed (GtkWidget *, GdkEventButton *, gboolean *, gboolean *, splotd *);
void move_pt (gint id, gint x, gint y, splotd *sp, GGobiData *d, ggobid *);
void movepts_event_handlers_toggle (splotd *, gboolean);
void movepts_history_add (gint id, splotd *sp, GGobiData *, ggobid *);
void movepts_history_delete_last (GGobiData *, ggobid *);
gint ndatad_with_vars_get (ggobid *gg);
void newvar_add_with_values (gdouble *, gint, gchar *, vartyped type, gint nlevels, gchar **level_names, gint *level_values, gint *level_counts, GGobiData * d);
void norm (gdouble *, gint);
GtkWidget* create_menu_bar (GtkUIManager *, const gchar *, GtkWidget *);
void p1d_event_handlers_toggle (splotd *, gboolean);
void p1d_reproject (splotd *, greal **, GGobiData *, ggobid *);
gboolean p1d_varsel (splotd *, gint, gint *, gint, gint);
gint p1dcycle_func (ggobid *gg);
void pan_by_drag (splotd *, ggobid *);
void parcoords_cpanel_init (cpaneld*, ggobid *);
const gchar *parcoords_mode_ui_get(displayd *dsp);
displayd* parcoords_new_with_vars (gboolean, gboolean, gint, gint *, GGobiData *, ggobid *);
displayd* parcoords_new (displayd *dpy, gboolean, gboolean, gint, gint *, GGobiData *, ggobid *);
void parcoords_reset_arrangement (displayd *, gint, ggobid *);
gboolean parcoords_varsel (cpaneld *, splotd *, gint, gint *, ggobid *);
void parcoordsDragAndDropEnable(displayd *dsp, gboolean active);
gint parse_command_line (gint *argc, gchar **av);
gboolean pca_calc (GGobiData *, ggobid *);
void pca_diagnostics_set (GGobiData *d, ggobid *);
gint pcompare (const void *, const void *);
void pipeline_arrays_alloc (GGobiData *, ggobid *);
void pipeline_arrays_check_dimensions (GGobiData *d);
void pipeline_arrays_free (GGobiData *d, ggobid *);
void pipeline_init (GGobiData *, ggobid *);
gint plotted_cols_get (gint *, GGobiData *, ggobid *);
gboolean point_in_which_bin (gint, gint, gint *, gint *, GGobiData *, splotd *);
void populate_combo_box (GtkWidget *, gchar **, gint, GCallback, gpointer);
void populate_tree_view(GtkWidget *tree_view, gchar **lbl, gint nitems, gboolean headers, GtkSelectionMode mode, GCallback func, gpointer obj);
gboolean processRestoreFile(const gchar * const fileName, ggobid *gg);
void procs_activate(gboolean state, ProjectionMode pmode, displayd *display, ggobid *gg);
gboolean projection_ok (ProjectionMode m, displayd *display);
void quick_message (const gchar * const, gboolean);
void quit_ggobi(ggobid *gg);
gdouble randvalue (void);
void range_unset (ggobid *gg);
gboolean reached_target(gfloat, gfloat, gint, gfloat *, gfloat *);
gint realloc_optimize0_p(optimize0_param *, gint, vector_i);
void recenter_data (gint, GGobiData *, ggobid *);
gboolean record_add (eeMode, gint a, gint b, gchar *lbl, gchar *id, gchar **vals, GGobiData * d, GGobiData * e, ggobid *gg);
void reinit_transient_brushing (displayd *, ggobid *);
void rejitter (gint *, gint, GGobiData *, ggobid *);
void reset_pp(GGobiData *, gint, gint, ggobid *, void *);
void rnorm2 (gdouble *, gdouble *);
void rotation_event_handlers_toggle (splotd *, gboolean);
void rowlabel_add (gchar *label, GGobiData *d);
void rowlabels_alloc (GGobiData *d) ;
void rowlabels_free (GGobiData *d);
void rows_in_plot_set (GGobiData *d, ggobid *);
void ruler_ranges_set (gboolean force, displayd *, splotd *, ggobid *);
void ruler_ranges_set_on_realize (splotd *sp, gpointer user_data);
void scale_event_handlers_toggle (splotd *, gboolean);
void scale_set_default_values (GtkScale *scale);
void scale_zoom_reset (displayd *dsp);
void scale_pan_reset (displayd *display);
void scale_update_set (gboolean, displayd *, ggobid *);
void scaling_visual_cues_draw (splotd *, GdkDrawable *, ggobid *);
void scatmat_cpanel_init (cpaneld *, ggobid *);
displayd* scatmat_new (displayd *, gboolean, gboolean, gint, gint *, gint, gint *, GGobiData *, ggobid *);
gboolean scatmat_varsel (GtkWidget *, cpaneld *, splotd *, gint, gint, gint *, gint, gboolean, ggobid *);
gboolean scatmat_varsel_simple (cpaneld *, splotd *, gint, gint *, ggobid *);
const gchar* scatmat_mode_ui_get(displayd *display);
void scatterplot_cpanel_init (cpaneld *, ProjectionMode, InteractionMode, ggobid *);
void scatterplot_display_edge_menu_update (displayd *, GtkAccelGroup *accel_group, ggobid *gg);
const gchar * scatterplot_mode_ui_get(displayd *display);
displayd* scatterplot_new (gboolean, gboolean, splotd *sp, GGobiData *d, ggobid *);
void scatterplot_show_hrule (displayd *, gboolean show);
void scatterplot_show_rulers (displayd *, gint);
void scatterplot_show_vrule (displayd *, gboolean show);
gboolean scree_mapped_p (ggobid *);
void scree_plot_make (ggobid *);
gint selected_cols_get (gint *, GGobiData *d, ggobid *);
void showInputDescription(InputDescription *desc, ggobid *gg);
void smooth_window_open (ggobid *);
void sp_event_handlers_toggle (splotd *, gboolean, ProjectionMode, InteractionMode);
void sp_whiskers_make (splotd *, displayd *, ggobid *);
void special_colors_init (ggobid *);
void speed_set (gfloat, gfloat *, gfloat *);
void sphere_condnum_set (gfloat x, ggobid *);
void sphere_enable (gboolean sens, ggobid *);
void sphere_free (GGobiData *);
void sphere_init (GGobiData *);
void sphere_npcs_range_set (gint n, ggobid *gg);
void sphere_npcs_set (gint, GGobiData *, ggobid *);
void sphere_panel_open (ggobid *);
void sphere_varcovar_set (GGobiData *, ggobid *);
void sphere_variance_set (gfloat x, GGobiData *, ggobid*);
void spherevars_set (ggobid *);
void spherize_data (vector_i *svars, vector_i *pcvars, GGobiData *, ggobid *);
gboolean spherize_set_pcvars (GGobiData *, ggobid *);
void splash_show (ggobid *gg);
void splot_add_diamond_cue (gint k, splotd *sp, GdkDrawable *drawable, ggobid *gg);
void splot_add_edge_highlight_cue (splotd *, GdkDrawable *, gint k, gboolean nearest, ggobid *);
void splot_add_edge_label (splotd *, GdkDrawable *, gint k, gboolean nearest, ggobid *);
void splot_add_edgeedit_cues (splotd *, GdkDrawable *, gint k, gboolean nearest, ggobid *);
void splot_add_identify_edge_cues (splotd *sp, GdkDrawable *drawable, gint k, gboolean nearest, ggobid *gg);
void splot_add_point_label (gboolean, gint, gboolean, splotd *, GdkDrawable *, ggobid *);
void splot_connect_expose_handler (gint, splotd *);
void splot_cursor_set (gint jcursor, splotd *sp);
void splot_dimension_set(splotd* sp, gint width, gint height);
void splot_draw_tour_axes(splotd *sp, GdkDrawable *, ggobid *);
void splot_edges_draw (splotd *sp, gboolean hiddens_p, GdkDrawable *drawable, ggobid *gg);
void splot_edges_realloc (gint, splotd *, GGobiData *);
gboolean splot_event_handled (GtkWidget *, GdkEventKey *, cpaneld *, splotd *, ggobid *);
void splot_expose (splotd *);
void splot_free (splotd *, displayd *, ggobid *);
void splot_get_dimensions (splotd *, gint *, gint *);
splotd* splot_new (displayd *, gint, gint, ggobid *);
void splot_pixmap0_to_pixmap1 (splotd *, gboolean, ggobid *);
void splot_plane_to_screen (displayd *, cpaneld *, splotd *, ggobid *);
gboolean splot_plot_case (gint m, GGobiData *, splotd *, displayd *, ggobid *);
void splot_points_realloc (gint, splotd *, GGobiData *);
void splot_redraw (splotd *sp, RedrawStyle, ggobid *);
void splot_set_current (splotd *, gboolean, ggobid *);
void splot_world_to_plane (cpaneld *, splotd *, ggobid *);
void splot_zoom (splotd *sp, gfloat xsc, gfloat ysc) ;
gint sqdist (gint, gint, gint, gint);
void statusbar_show (gboolean show, ggobid *gg);
void sticky_id_link_by_id (gint, gint, GGobiData *, ggobid *);
void sticky_id_toggle (GGobiData *, ggobid *);
gint strToInteger (const gchar *tmp);
void submenu_destroy (GtkWidget *);
void submenu_insert (GtkWidget *, GtkWidget *, gint);
GtkWidget* submenu_make (gchar *, guint, GtkAccelGroup *);
void subset_apply (GGobiData *, ggobid *);
gboolean subset_block (gint, gint, GGobiData *, ggobid *);
gboolean subset_everyn (gint, gint, GGobiData *, ggobid *);
void subset_include_all (GGobiData *, ggobid *);
gboolean subset_random (gint, GGobiData *, ggobid *);
gboolean subset_range (GGobiData *d, ggobid *gg);
gboolean subset_rowlab (gchar *, gint pos, gboolean casep, GGobiData *, ggobid *);
gboolean subset_sticky (GGobiData *, ggobid *);
void subset_window_open (ggobid *);
gboolean symbol_link_by_id (gboolean persistentp, gint k, GGobiData *source_d, ggobid *gg);
gint symbol_table_populate (GGobiData *d);
void symbol_window_redraw (ggobid *);
void t1d_clear_ppda (displayd *, ggobid *);
void t1d_optimz (gint, gboolean *, gint *, displayd *);
void t1d_pp_reinit(displayd *, ggobid *);
void t1d_ppcool_set(gfloat, displayd *, ggobid *);
void t1d_ppdraw(gfloat, displayd *, ggobid *);
void t1d_pptemp_set(gfloat, displayd *, ggobid *);
void t2d_clear_ppda (displayd *, ggobid *);
void t2d_optimz (gint, gboolean *, gint *, displayd *);
void t2d_pp_reinit(displayd *, ggobid *);
void t2d_ppcool_set(gfloat, displayd *, ggobid *);
void t2d_ppdraw (gfloat, displayd *, ggobid *);
void t2d_pptemp_set(gfloat, displayd *, ggobid *);
void textur (gfloat *, gfloat *, gint, gint, gfloat, gint, ggobid *);
void tform_label_update (gint, GGobiData *);
void tform_to_world (GGobiData *, ggobid *);
void tform_to_world_by_var (gint j, GGobiData *, ggobid *);
void tooltips_show (gboolean show, ggobid *gg);
void tour1d_all_vars (displayd *);
void tour1d_do_step (displayd *,ggobid *);
void tour1d_event_handlers_toggle (splotd *, gboolean);
void tour1d_fade_vars (gboolean, ggobid *);
void tour1d_func (gboolean, displayd *, ggobid *);
void tour1d_io_cb (GtkWidget *w, gpointer *cbd);
void tour1d_manip (gint, gint, splotd *, ggobid *);
void tour1d_manip_end (splotd *);
void tour1d_manip_init (gint, gint, splotd *);
void tour1d_pause (cpaneld *, gboolean, displayd *, ggobid *);
void tour1d_projdata (splotd *, greal **, GGobiData *, ggobid *);
void tour1d_realloc_down (gint nc, gint *cols, GGobiData *d, ggobid *gg);
void tour1d_reinit (ggobid *);
void tour1d_scramble(ggobid *);
void tour1d_snap(ggobid *);
void tour1d_video(ggobid *);
void tour1d_speed_set (gfloat, ggobid *);
gboolean tour1d_varsel (GtkWidget *, gint jvar, gint toggle, gint btn, GGobiData *, ggobid *);
void tour1d_vert (cpaneld *, gboolean);
void tour1dpp_window_open (ggobid *);
void tour2d3_event_handlers_toggle (splotd *, gboolean state);
void tour2d3_func (gboolean state, displayd *, ggobid *);
void tour2d3_manip (gint, gint, splotd *, ggobid *);
void tour2d3_manip_end (splotd *);
void tour2d3_manip_init (gint, gint, splotd *);
void tour2d3_pause (cpaneld *, gint, ggobid *);
void tour2d3_projdata (splotd *, greal **world_data, GGobiData *, ggobid *);
void tour2d3_reinit (ggobid *);
void tour2d3_scramble (ggobid *);
void tour2d3_speed_set (gfloat, ggobid *);
gboolean tour2d3_varsel (GtkWidget *, gint jvar, gint toggle, gint btn, GGobiData *, ggobid *);
void tour2d_all_vars (displayd *);
void tour2d_do_step (displayd *,ggobid *);
void tour2d_event_handlers_toggle (splotd *, gboolean);
void tour2d_fade_vars (gboolean, ggobid *);
void tour2d_func (gboolean, displayd *, ggobid *);
void tour2d_io_cb (GtkWidget *w, gpointer *cbd);
void tour2d_manip (gint, gint, splotd *, ggobid *);
void tour2d_manip_end (splotd *);
void tour2d_manip_init (gint, gint, splotd *);
void tour2d_pause (cpaneld *, gboolean, displayd *, ggobid *);
void tour2d_projdata (splotd *, greal **, GGobiData *, ggobid *);
void tour2d_realloc_down (gint nc, gint *cols, GGobiData *d, ggobid *gg);
void tour2d_reinit (ggobid *);
void tour2d_scramble (ggobid *);
void tour2d_snap(ggobid *);
void tour2d_video(ggobid *);
void tour2d_speed_set (gfloat, ggobid *);
gboolean tour2d_varsel (GtkWidget *, gint jvar, gint toggle, gint btn, GGobiData *, ggobid *);
void tour2dpp_window_open (ggobid *);
gint tour_path (array_d, array_d, array_d, gint, gint, array_d, array_d, array_d, vector_f, array_d, array_d, array_d, vector_f, vector_f, gfloat *, gfloat *);
void tour_reproject (vector_f, array_d, array_d, array_d, array_d, array_d, gint, gint);
void tourcorr_fade_vars (gboolean, ggobid *);
void tourcorr_func (gboolean, displayd *, ggobid *);
void tourcorr_io_cb (GtkWidget *w, gpointer *cbd);
void tourcorr_manip (gint, gint, splotd *, ggobid *);
void tourcorr_manip_end (splotd *);
void tourcorr_manip_init (gint, gint, splotd *);
void tourcorr_pause (cpaneld *, gboolean, ggobid *);
void tourcorr_projdata (splotd *, greal **, GGobiData *, ggobid *);
void tourcorr_realloc_down (gint nc, gint *cols, GGobiData *d, ggobid *gg);
void tourcorr_reinit (ggobid *);
void tourcorr_scramble (ggobid *);
void tourcorr_snap(ggobid *);
void tourcorr_video(ggobid *);
void tourcorr_speed_set (gfloat, ggobid *);
gboolean tourcorr_varsel (GtkWidget *, gint jvar, gint toggle, gint btn, GGobiData *, ggobid *);
void transform (gint, gint, gfloat, gint *, gint, GGobiData *, ggobid *);
void transform0_combo_box_set_value (gint, gboolean, GGobiData *, ggobid *);
void transform0_values_set (gint, gint, GGobiData *, ggobid *);
gboolean transform1_apply (gint, GGobiData *, ggobid *);
void transform1_combo_box_set_value (gint, gboolean, GGobiData *, ggobid *);
void transform1_values_set (gint, gfloat, gint, GGobiData *, ggobid *);
gboolean transform2_apply (gint, GGobiData *, ggobid *);
void transform2_combo_box_set_value (gint, gboolean, GGobiData *, ggobid *);
void transform2_values_set (gint, gint, GGobiData *, ggobid *);
gboolean transform_values_compare (gint, gint, GGobiData *);
void transform_values_copy (gint jfrom, gint jto, GGobiData *d);
void transform_values_init (vartabled *vt);
gboolean transform_variable (gint, gint, gfloat, gint, GGobiData *, ggobid *);
void transform_window_open (ggobid *);
gboolean update_color_vectors (gint i, gboolean changed, gboolean *hit_by_brush, GGobiData *d, ggobid *gg);
gboolean update_glyph_vectors (gint i, gboolean changed, gboolean *hit_by_brush, GGobiData *d, ggobid *gg);
gboolean update_hidden_vectors (gint i, gboolean changed, gboolean *hit_by_brush, GGobiData *d, ggobid *gg);
void varcircle_label_set (gint jvar, GGobiData *d);
void varcircle_label_set (gint, GGobiData *);
void varcircles_add (gint ncols, GGobiData *, ggobid *);
void varcircles_cursor_set_default (GGobiData *d);
void varcircles_delete_nth (gint j, GGobiData *);
void varcircles_populate (GGobiData *, ggobid *);
void varcircles_refresh (GGobiData *, ggobid *);
void varcircles_show (gboolean, GGobiData *, displayd *, ggobid *);
void varcircles_visibility_set (displayd *display, ggobid *gg);
void variable_notebook_handlers_disconnect (GtkWidget *notebook, ggobid *gg);
void variable_notebook_list_changed_cb(ggobid *gg, GGobiData *d, void *notebook);
void variable_notebook_subwindow_add (GGobiData *d, GtkSignalFunc func, gpointer func_data, GtkWidget *notebook, vartyped, datatyped, ggobid *gg);
void variable_notebook_varchange_cb (ggobid *gg, vartabled *vt, gint which, GGobiData *, void *notebook);
void varpanel_clear (GGobiData *, ggobid *);
void varpanel_delete_nth (gint jvar, GGobiData *d);
void varpanel_label_set (gint, GGobiData *);
void varpanel_make (GtkWidget *, ggobid *);
void varpanel_populate (GGobiData *, ggobid *);
void varpanel_refresh (displayd *, ggobid *);
void varpanel_reinit (ggobid *gg);
void varpanel_set_sensitive (GGobiData *d, gboolean sensitive_p, ggobid *);
void varpanel_show_page (displayd*, ggobid*);
void varpanel_tooltips_set (displayd *, ggobid *);
GtkWidget* varpanel_widget_get_nth (gint jbutton, gint jvar, GGobiData *d);
void varpanel_widgets_add (gint nc, GGobiData *d, ggobid *gg);
void vars_stdized_send_event (GGobiData *d, ggobid *gg);
void varsel (GtkWidget *w, cpaneld *, splotd *, gint jvar, gint toggle, gint btn, gint alt_mod, gint ctrl_mod, gint shift_mod, GGobiData *, ggobid *);
void vartable_alloc (GGobiData *);
gint vartable_index_get_by_name(gchar *name, GGobiData *d);
gboolean vartable_iter_from_varno(gint var, GGobiData *d, GtkTreeModel **model, GtkTreeIter *iter);
gint vartable_varno_from_path(GtkTreeModel *model, GtkTreePath *path);
void vartable_cells_set_by_var (gint j, GGobiData *d);
GtkWidget* vartable_tree_view_get (ggobid *gg);
void vartable_collab_set_by_var (gint, GGobiData *);
void vartable_collab_tform_set_by_var (gint j, GGobiData *d);
void vartable_copy_var (gint jfrom, gint jto, GGobiData *d);
void vartable_element_categorical_init (vartabled *, gint nlevels, gchar **level_names, gint *level_values, gint *level_counts);
vartabled *vartable_element_get (gint j, GGobiData *d);
vartabled *vartable_element_get_by_name (gchar *collab, GGobiData *d);
vartabled* vartable_element_new (GGobiData *d);
void vartable_element_remove (gint, GGobiData *);
void vartable_init (GGobiData *d);
void vartable_limits_set (GGobiData *);
void vartable_limits_set_by_var (gint j, GGobiData *d);
void vartable_open (ggobid *);
void vartable_row_append (gint j, GGobiData *);
void vartable_show_page (GGobiData*, ggobid*);
void vartable_stats_set (GGobiData *);
void vartable_stats_set_by_var (gint j, GGobiData *);
void vectorb_alloc (vector_b *, gint);
void vectorb_alloc_zero (vector_b *, gint);
void vectorb_copy (vector_b *, vector_b *);
void vectorb_delete_els (vector_b *vecp, gint nels, gint *els);
void vectorb_free (vector_b *);
void vectorb_init_null (vector_b *);
void vectorb_realloc (vector_b *, gint);
void vectorb_realloc_zero (vector_b *, gint);
void vectorb_zero (vector_b *vecp);
void vectord_alloc (vector_d *, gint);
void vectord_alloc_zero (vector_d *, gint);
void vectord_delete_els (vector_d *vecp, gint nels, gint *els);
void vectord_free (vector_d *);
void vectord_init_null (vector_d *);
void vectord_realloc (vector_d *, gint);
void vectord_zero (vector_d *vecp);
void vectorf_alloc (vector_f *, gint);
void vectorf_alloc_zero (vector_f *, gint);
void vectorf_delete_els (vector_f *vecp, gint nels, gint *els);
void vectorf_free (vector_f *);
void vectorf_init_null (vector_f *);
void vectorf_realloc (vector_f *, gint);
void vectorf_zero (vector_f *vecp);
void vectorg_alloc (vector_g *, gint);
void vectorg_copy (vector_g *, vector_g *);
void vectorg_free (vector_g *);
void vectorg_init_null (vector_g *);
void vectorg_realloc (vector_g *, gint);
void vectorg_realloc_zero (vector_g *, gint);
void vectori_alloc (vector_i *, gint);
void vectori_alloc_zero (vector_i *, gint);
void vectori_copy (vector_i *, vector_i *);
void vectori_delete_els (vector_i *vecp, gint nels, gint *els);
void vectori_free (vector_i *);
void vectori_init_null (vector_i *);
void vectori_realloc (vector_i *, gint);
void vectori_zero (vector_i *vecp);
void vectors_copy (vector_s *, vector_s *);
void vectors_free (vector_s *);
void vectors_init_null (vector_s *);
void vectors_realloc (vector_s *, gint);
void vectors_realloc_zero (vector_s *, gint);
void vt_copy(vartabled *vtf, vartabled *vtt);
void vt_init(vartabled *);
GtkWidget* widget_find_by_name (GtkWidget *, gchar *);
void widget_initialize (GtkWidget *w, gboolean initd);
gboolean widget_initialized (GtkWidget *w);
void writeall_window_open (ggobid *);
void svis_init (ggobid *gg);
void svis_window_open (ggobid *gg);
gboolean write_csv(const gchar *, ggobid *);
void wvis_init (ggobid *gg);
void wvis_window_open (ggobid *gg);
void xy_reproject (splotd *, greal **, GGobiData *, ggobid *);
gint xycycle_func (ggobid *gg);
void xyplot_cycle_activate (gboolean state, cpaneld *cpanel, ggobid *gg);
void xyplot_event_handlers_toggle (splotd *, gboolean);
gboolean xyplot_varsel (splotd *, gint, gint *, gint, gint);
void zoom_by_drag (splotd *, ggobid *);
/*tsplot functions*/
GtkWidget* cpanel_tsplot_make (ggobid *);
void cpanel_tsplot_set (displayd *, cpaneld *, GtkWidget *, ggobid *);
void tsplot_cpanel_init (cpaneld*, ggobid *);
const gchar* tsplot_mode_ui_get(displayd *display);
displayd* tsplot_new (displayd *, gboolean, gboolean, gint, gint *, GGobiData *, ggobid *);
displayd *tsplot_new_with_vars (gboolean, gboolean missing_p, gint nvars, gint *vars, GGobiData *d, ggobid *gg) ;
void tsplot_reset_arrangement (displayd *, gint, ggobid *);
gboolean tsplot_varsel (GtkWidget *, displayd *display, splotd *sp, gint jvar, gint toggle, gint mouse, cpaneld *cpanel, ggobid *gg);
void tsplot_whiskers_make (splotd *, displayd *, ggobid *);
void zero_tau(vector_f, gint);
/* The new way of handling window closures, so that we don't just exit. */
gboolean ggobi_close (ggobid *gg);
gint ggobi_remove_by_index (ggobid *gg, gint which);
gint ggobi_remove (ggobid *);
void subset_init (GGobiData *d, ggobid *gg);
displayd *createBarchart(displayd *display, gboolean use_window, gboolean missing_p, splotd * sp, gint var, GGobiData * d, ggobid * gg);
void barchart_scaling_visual_cues_draw (splotd *sp, GdkDrawable *drawable, ggobid *gg);
gboolean barchart_active_paint_points (splotd *sp, GGobiData *, ggobid *);
void barchart_add_bar_cues (splotd *sp, GdkDrawable *drawable, ggobid *gg);
void barchart_clean_init (barchartSPlotd *sp);
void barchart_cpanel_init (cpaneld *, ggobid *);
void barchart_event_handlers_toggle (displayd *, splotd *, gboolean state, ProjectionMode, InteractionMode);
void barchart_free_structure (barchartSPlotd *sp);
gboolean barchart_identify_bars (icoords mousepos, splotd *sp, GGobiData *d, ggobid *gg);
void barchart_init_vectors(barchartSPlotd *sp);
const gchar *barchart_mode_ui_get(displayd *display);
displayd *barchart_new (gboolean use_window, gboolean missing_p, splotd *sp, GGobiData *d, ggobid *gg);
void barchart_recalc_counts (barchartSPlotd *sp, GGobiData *d, ggobid *gg);
void barchart_recalc_dimensions (splotd *sp, GGobiData *d, ggobid *gg);
void barchart_recalc_group_dimensions (barchartSPlotd *sp, ggobid *gg);
gboolean barchart_redraw (splotd *sp, GGobiData *d, ggobid *gg, gboolean binned);
void barchart_splot_add_plot_labels (splotd *, GdkDrawable *, ggobid *);
GtkWidget* cpanel_barchart_make (ggobid *gg);
void cpanel_barchart_set (displayd *, cpaneld *, GtkWidget *panel, ggobid *gg);
void barchart_scale_event_handlers_toggle(splotd *sp, gboolean state);
displayd *barchart_new_with_vars(gboolean use_window, gboolean missing_p, gint nvars, gint *vars, GGobiData * d, ggobid * gg);
#ifdef WIN32
void win32_draw_to_pixmap_binned (icoords *, icoords *, gint, splotd *, gboolean draw_hidden, ggobid *gg);
void win32_draw_to_pixmap_unbinned (gint, splotd *, gboolean draw_hidden, ggobid *gg);
void win32_drawing_arrays_free (splotd *sp);
#endif
#ifdef __cplusplus
}
#endif
#include "GGobiAPI.h"
#define CHECK_GG(a) ValidateGGobiRef(a, true)
/* Made externs for access from display class methods. */
void varpanel_toggle_set_active (gint jbutton, gint jvar, gboolean active, GGobiData *d);
GtkWidget *varpanel_widget_set_visible (gint jbutton, gint jvar, gboolean show, GGobiData *d);
void display_plot (displayd *display, RedrawStyle type, ggobid *gg);
void scatterXYAddPlotLabels(splotd *sp, GdkDrawable *drawable, GdkGC *gc);
void scatter1DAddPlotLabels(splotd *sp, GdkDrawable *drawable, GdkGC *gc);
gboolean processRestoreFile(const gchar * const fileName, ggobid *gg);
void scatterplotMovePointsMotionCb(displayd *display, splotd *sp, GtkWidget *w, GdkEventMotion *event, ggobid *gg);
void scatterplotMovePointsButtonCb(displayd *display, splotd *sp, GtkWidget *w, GdkEventButton *event, ggobid *gg);
displayd * scatterplot_new_with_vars(gboolean use_window, gboolean missing_p, gint numVars, gint *vars, GGobiData *d, ggobid *gg);
gboolean array_contains (gint* arr, gint n, gint el);
void ggobiInit(int *argc, char **argv[]);
GGobiPluginInfo *readPluginFile(const char * const fileName, GGobiInitInfo *info);
gboolean registerPlugin(ggobid *gg, GGobiPluginInfo *plugin);
GGobiOptions *GGOBI_getSessionOptions();
#ifdef WIN32
/* needed by transform.c */
extern double erf(double x);
extern double erfc(double x);
#endif
GSList * read_xml(InputDescription *desc, ggobid *gg, GGobiPluginInfo *plugin);
GSList * read_csv(InputDescription *desc, ggobid *gg, GGobiPluginInfo *plugin);
InputDescription *read_xml_input_description(const char * const fileName, const char * const modeName, ggobid *gg, GGobiPluginInfo *info);
InputDescription *read_csv_input_description(const char * const fileName, const char * const modeName, ggobid *gg, GGobiPluginInfo *info);
void resetDataMode();
vartabled *vartable_element_get(gint i, GGobiData *d);
gboolean parcoords_add_delete_splot(cpaneld *cpanel, splotd *sp, gint jvar, gint *jvar_prev, ggobid *gg, displayd *display);
#ifdef ENABLE_CAIRO
cairo_t* create_cairo_glitz(GdkDrawable *drawable);
#endif
#endif
|