char * generate_syntax (const struct ks_one_sample *rd) { gchar *text; GString *string = g_string_new ("NPAR TEST"); if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rd->cb[CB_NORMAL]))) append_fragment (string, "NORMAL", PSPPIRE_VAR_VIEW (rd->variables)); if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rd->cb[CB_UNIFORM]))) append_fragment (string, "UNIFORM", PSPPIRE_VAR_VIEW (rd->variables)); if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rd->cb[CB_POISSON]))) append_fragment (string, "POISSON", PSPPIRE_VAR_VIEW (rd->variables)); if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rd->cb[CB_EXPONENTIAL]))) append_fragment (string, "EXPONENTIAL", PSPPIRE_VAR_VIEW (rd->variables)); g_string_append (string, ".\n"); text = string->str; g_string_free (string, FALSE); return text; }
static void update (PsppireMeansLayer *ml) { gchar *l = g_strdup_printf (_("Layer %d of %d"), ml->current_layer + 1, ml->n_layers); gtk_label_set_text (GTK_LABEL (ml->label), l); g_free (l); psppire_var_view_set_current_model (PSPPIRE_VAR_VIEW (ml->var_view), ml->current_layer); gtk_widget_set_sensitive (ml->back, ml->current_layer > 0); gtk_widget_set_sensitive (ml->forward, psppire_var_view_get_iter_first (PSPPIRE_VAR_VIEW (ml->var_view), NULL)); }
static char * generate_syntax (PsppireDialogAction *act) { PsppireDialogActionReliability *rd = PSPPIRE_DIALOG_ACTION_RELIABILITY (act); gchar *text; GString *string = g_string_new ("RELIABILITY"); g_string_append (string, "\n\t/VARIABLES="); psppire_var_view_append_names (PSPPIRE_VAR_VIEW (rd->variables), 0, string); g_string_append (string, "\n\t/MODEL="); if ( ALPHA == gtk_combo_box_get_active (GTK_COMBO_BOX (rd->model_combo))) g_string_append (string, "ALPHA"); else g_string_append_printf (string, "SPLIT (%d)", gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (rd->split_spinbutton)) ); if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rd->scale_if_item_deleted_checkbutton))) g_string_append (string, "\n\t/SUMMARY = TOTAL"); g_string_append (string, ".\n"); text = string->str; g_string_free (string, FALSE); return text; }
static char * generate_syntax (PsppireDialogAction *act) { PsppireDialogActionSort *scd = PSPPIRE_DIALOG_ACTION_SORT (act); gchar *text; GString *string = g_string_new ("SORT CASES BY "); PsppireVarView *var_view = PSPPIRE_VAR_VIEW (scd->variables); gint n_vars = psppire_var_view_append_names (var_view, 0, string); if ( n_vars == 0 ) { g_string_assign (string, ""); } else { const char up_down = (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (scd->ascending)) ? 'A' : 'D'); g_string_append_printf (string, "(%c)", up_down); g_string_append (string, "."); } text = string->str; g_string_free (string, FALSE); return text; }
/* FLIP /VARIABLES=var_list /NEWNAMES=var_name. */ static gchar * generate_syntax (PsppireDict *dict, GtkBuilder *xml) { const gchar *text; GString *string = g_string_new ("FLIP"); gchar *syntax ; GtkWidget *dest = get_widget_assert (xml, "variables-treeview"); GtkWidget *entry = get_widget_assert (xml, "new-name-entry"); g_string_append (string, " /VARIABLES = "); psppire_var_view_append_names (PSPPIRE_VAR_VIEW (dest), 0, string); text = gtk_entry_get_text (GTK_ENTRY (entry)); if ( text) g_string_append_printf (string, " /NEWNAME = %s", text); g_string_append (string, "."); syntax = string->str; g_string_free (string, FALSE); return syntax; }
void psppire_means_layer_clear (PsppireMeansLayer *ml) { psppire_var_view_clear (PSPPIRE_VAR_VIEW (ml->var_view)); ml->n_layers = 1; ml->current_layer = 0; update (ml); }
static void on_forward (PsppireMeansLayer *ml) { ml->current_layer++; if (ml->current_layer >= ml->n_layers) { ml->n_layers = ml->current_layer + 1; psppire_var_view_push_model (PSPPIRE_VAR_VIEW (ml->var_view)); } update (ml); }
static gchar * generate_syntax (const struct paired_samples_dialog *d, const struct tt_options_dialog *opt) { gchar *text = NULL; GString *str = g_string_new ("T-TEST \n\tPAIRS = "); psppire_var_view_append_names (PSPPIRE_VAR_VIEW (d->pairs_treeview), 0, str); g_string_append (str, " WITH "); psppire_var_view_append_names (PSPPIRE_VAR_VIEW (d->pairs_treeview), 1, str); g_string_append (str, " (PAIRED)"); g_string_append (str, "\n"); tt_options_dialog_append_syntax (opt, str); g_string_append (str, ".\n"); text = str->str; g_string_free (str, FALSE); return text; }
static char * generate_syntax (PsppireDialogAction *a) { PsppireDialogActionIndepSamps *act = PSPPIRE_DIALOG_ACTION_INDEP_SAMPS (a); gchar *text; GString *str = g_string_new ("T-TEST /VARIABLES="); psppire_var_view_append_names (PSPPIRE_VAR_VIEW (act->test_vars_tv), 0, str); g_string_append (str, "\n\t/GROUPS="); g_string_append (str, var_get_name (act->grp_var)); if (act->group_defn != GROUPS_UNDEF) { g_string_append (str, "("); { const union value *val = (act->group_defn == GROUPS_VALUES) ? &act->grp_val[0] : &act->cut_point; struct string strx; ds_init_empty (&strx); syntax_gen_value (&strx, val, var_get_width (act->grp_var), var_get_print_format (act->grp_var)); g_string_append (str, ds_cstr (&strx)); ds_destroy (&strx); } if (act->group_defn == GROUPS_VALUES) { g_string_append (str, ","); { struct string strx; ds_init_empty (&strx); syntax_gen_value (&strx, &act->grp_val[1], var_get_width (act->grp_var), var_get_print_format (act->grp_var)); g_string_append (str, ds_cstr (&strx)); ds_destroy (&strx); } } g_string_append (str, ")"); } tt_options_dialog_append_syntax (act->opts, str); g_string_append (str, ".\n"); text = str->str; g_string_free (str, FALSE); return text; }
static gchar * generate_syntax (const struct tt_indep_samples_dialog *d) { struct variable *group_variable; gchar *text; GtkWidget *tv = get_widget_assert (d->xml, "indep-samples-t-test-treeview2"); GString *str = g_string_new ("T-TEST /VARIABLES="); psppire_var_view_append_names (PSPPIRE_VAR_VIEW (tv), 0, str); g_string_append (str, "\n\t/GROUPS="); group_variable = psppire_dict_lookup_var (d->dict, gtk_entry_get_text (GTK_ENTRY (d->groups_entry))); g_string_append (str, var_get_name (group_variable)); if (d->grps->group_defn != GROUPS_UNDEF) { g_string_append (str, "("); if ( var_is_alpha (group_variable)) { struct string s = DS_EMPTY_INITIALIZER; syntax_gen_string (&s, ss_cstr (d->grps->val[0])); g_string_append (str, ds_cstr (&s)); ds_destroy (&s); } else { g_string_append (str, d->grps->val[0]); } if ( d->grps->group_defn == GROUPS_VALUES ) { g_string_append (str, ","); if ( var_is_alpha (group_variable)) { struct string s = DS_EMPTY_INITIALIZER; syntax_gen_string (&s, ss_cstr (d->grps->val[1])); g_string_append (str, ds_cstr (&s)); ds_destroy (&s); } else { g_string_append (str, d->grps->val[1]); } } g_string_append (str, ")"); } tt_options_dialog_append_syntax (d->opts, str); g_string_append (str, ".\n"); text = str->str; g_string_free (str, FALSE); return text; }
static char * generate_syntax (PsppireDialogAction *a) { PsppireDialogActionCrosstabs *cd = PSPPIRE_DIALOG_ACTION_CROSSTABS (a); gchar *text = NULL; int i, n; guint selected; GString *string = g_string_new ("CROSSTABS "); gboolean ok; GtkTreeIter iter; g_string_append (string, "\n\t/TABLES="); psppire_var_view_append_names (PSPPIRE_VAR_VIEW (cd->dest_rows), 0, string); g_string_append (string, "\tBY\t"); psppire_var_view_append_names (PSPPIRE_VAR_VIEW (cd->dest_cols), 0, string); g_string_append (string, "\n\t/FORMAT="); if (cd->format_options_avalue) g_string_append (string, "AVALUE"); else g_string_append (string, "DVALUE"); g_string_append (string, " "); if (cd->format_options_table) g_string_append (string, "TABLES"); else g_string_append (string, "NOTABLES"); g_string_append (string, " "); if (cd->format_options_pivot) g_string_append (string, "PIVOT"); else g_string_append (string, "NOPIVOT"); selected = 0; for (i = 0, ok = gtk_tree_model_get_iter_first (cd->stat, &iter); ok; i++, ok = gtk_tree_model_iter_next (cd->stat, &iter)) { gboolean toggled; gtk_tree_model_get (cd->stat, &iter, CHECKBOX_COLUMN_SELECTED, &toggled, -1); if (toggled) selected |= 1u << i; else selected &= ~(1u << i); } if (!(selected & (1u << CS_STATS_NONE))) { if (selected) { g_string_append (string, "\n\t/STATISTICS="); n = 0; for (i = 0; i < N_CROSSTABS_STATS; i++) if (selected & (1u << i)) { if (n++) g_string_append (string, " "); g_string_append (string, stats[i].name); } } } selected = 0; for (i = 0, ok = gtk_tree_model_get_iter_first (cd->cell, &iter); ok; i++, ok = gtk_tree_model_iter_next (cd->cell, &iter)) { gboolean toggled; gtk_tree_model_get (cd->cell, &iter, CHECKBOX_COLUMN_SELECTED, &toggled, -1); if (toggled) selected |= 1u << i; else selected &= ~(1u << i); } g_string_append (string, "\n\t/CELLS="); if (selected & (1u << CS_CELLS_NONE)) g_string_append (string, "NONE"); else { n = 0; for (i = 0; i < N_CROSSTABS_CELLS; i++) if (selected & (1u << i)) { if (n++) g_string_append (string, " "); g_string_append (string, cells[i].name); } } g_string_append (string, ".\n"); text = string->str; g_string_free (string, FALSE); return text; }
static char * generate_syntax (const struct recode_dialog *rd) { gboolean ok; GtkTreeIter iter; gchar *text; GString *str = g_string_sized_new (100); /* Declare new string variables if applicable */ if ( rd->different && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rd->string_button))) { GHashTableIter iter; struct variable *var = NULL; struct nlp *nlp = NULL; g_hash_table_iter_init (&iter, rd->varmap); while (g_hash_table_iter_next (&iter, (void**) &var, (void**) &nlp)) { g_string_append (str, "\nSTRING "); g_string_append (str, nlp->name); g_string_append_printf (str, " (A%d).", (int) gtk_spin_button_get_value (GTK_SPIN_BUTTON (rd->width_entry) ) ); } } g_string_append (str, "\nRECODE "); psppire_var_view_append_names (PSPPIRE_VAR_VIEW (rd->variable_treeview), 0, str); g_string_append (str, "\n\t"); if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rd->convert_button))) { g_string_append (str, "(CONVERT) "); } for (ok = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (rd->value_map), &iter); ok; ok = gtk_tree_model_iter_next (GTK_TREE_MODEL (rd->value_map), &iter)) { GValue ov_value = {0}; GValue nv_value = {0}; struct old_value *ov; struct new_value *nv; gtk_tree_model_get_value (GTK_TREE_MODEL (rd->value_map), &iter, COL_VALUE_OLD, &ov_value); gtk_tree_model_get_value (GTK_TREE_MODEL (rd->value_map), &iter, COL_VALUE_NEW, &nv_value); ov = g_value_get_boxed (&ov_value); nv = g_value_get_boxed (&nv_value); g_string_append (str, "("); old_value_append_syntax (str, ov); g_string_append (str, " = "); new_value_append_syntax (str, nv); g_string_append (str, ") "); g_value_unset (&ov_value); g_value_unset (&nv_value); } if ( rd->different ) { GtkTreeIter iter; g_string_append (str, "\n\tINTO "); for (ok = psppire_var_view_get_iter_first (PSPPIRE_VAR_VIEW (rd->variable_treeview), &iter); ok; ok = psppire_var_view_get_iter_next (PSPPIRE_VAR_VIEW (rd->variable_treeview), &iter)) { struct nlp *nlp = NULL; const struct variable *var = psppire_var_view_get_variable (PSPPIRE_VAR_VIEW (rd->variable_treeview), 0, &iter); nlp = g_hash_table_lookup (rd->varmap, var); g_string_append (str, nlp->name); g_string_append (str, " "); } } g_string_append (str, "."); /* If applicable, set labels for the new variables. */ if ( rd->different ) { GHashTableIter iter; struct variable *var = NULL; struct nlp *nlp = NULL; g_hash_table_iter_init (&iter, rd->varmap); while (g_hash_table_iter_next (&iter, (void**) &var, (void**) &nlp)) { if (nlp->label) { struct string sl; ds_init_empty (&sl); syntax_gen_string (&sl, ss_cstr (nlp->label)); g_string_append_printf (str, "\nVARIABLE LABELS %s %s.", nlp->name, ds_cstr (&sl)); ds_destroy (&sl); } } } g_string_append (str, "\nEXECUTE.\n"); text = str->str; g_string_free (str, FALSE); return text; }
static char * generate_syntax (PsppireDialogAction *act) { PsppireDialogActionExamine *ed = PSPPIRE_DIALOG_ACTION_EXAMINE (act); const char *label; gchar *text = NULL; GString *str = g_string_new ("EXAMINE "); g_string_append (str, "\n\t/VARIABLES="); psppire_var_view_append_names (PSPPIRE_VAR_VIEW (ed->variables), 0, str); if ( 0 < gtk_tree_model_iter_n_children (gtk_tree_view_get_model (GTK_TREE_VIEW (ed->factors)), NULL)) { g_string_append (str, "\n\tBY "); psppire_var_view_append_names (PSPPIRE_VAR_VIEW (ed->factors), 0, str); } label = gtk_entry_get_text (GTK_ENTRY (ed->id_var)); if ( 0 != strcmp (label, "") ) { g_string_append (str, "\n\t/ID = "); g_string_append (str, label); } if ( ed->stats & (STAT_DESCRIPTIVES | STAT_EXTREMES)) { g_string_append (str, "\n\t/STATISTICS ="); if ( ed->stats & STAT_DESCRIPTIVES) g_string_append (str, " DESCRIPTIVES"); if ( ed->stats & STAT_EXTREMES) g_string_append (str, " EXTREME"); } if ( ed->stats & STAT_PERCENTILES) g_string_append (str, "\n\t/PERCENTILES"); g_string_append (str, "\n\t/MISSING="); switch (ed->opts) { case OPT_REPORT: g_string_append (str, "REPORT"); break; case OPT_PAIRWISE: g_string_append (str, "PAIRWISE"); break; default: g_string_append (str, "LISTWISE"); break; }; g_string_append (str, "."); text = str->str; g_string_free (str, FALSE); return text; }
static char * generate_syntax (const struct crosstabs_dialog *cd) { gint i; int n; guint selected; GtkTreeIter iter; gboolean ok; gchar *text; GString *string = g_string_new ("CROSSTABS"); g_string_append (string, "\n\t/TABLES="); psppire_var_view_append_names (PSPPIRE_VAR_VIEW (cd->row_vars), 0, string); g_string_append (string, "\tBY\t"); psppire_var_view_append_names (PSPPIRE_VAR_VIEW (cd->col_vars), 0, string); g_string_append (string, "\n\t/FORMAT="); if (cd->current_opts.avalue) { g_string_append (string, "AVALUE"); } else { g_string_append (string, "DVALUE"); } g_string_append (string, " "); if (cd->current_opts.table) g_string_append (string, "TABLES"); else g_string_append (string, "NOTABLES"); g_string_append (string, " "); if (cd->current_opts.pivot) g_string_append (string, "PIVOT"); else g_string_append (string, "NOPIVOT"); selected = 0; for (i = 0, ok = gtk_tree_model_get_iter_first (cd->stat, &iter); ok; i++, ok = gtk_tree_model_iter_next (cd->stat, &iter)) { gboolean toggled; gtk_tree_model_get (cd->stat, &iter, CHECKBOX_COLUMN_SELECTED, &toggled, -1); if (toggled) selected |= 1u << i; else selected &= ~(1u << i); } if (!(selected & (1u << CS_STATS_NONE))) { if (selected) { g_string_append (string, "\n\t/STATISTICS="); n = 0; for (i = 0; i < N_CROSSTABS_STATS; i++) if (selected & (1u << i)) { if (n++) g_string_append (string, " "); g_string_append (string, stats[i].name); } } } selected = 0; for (i = 0, ok = gtk_tree_model_get_iter_first (cd->cell, &iter); ok; i++, ok = gtk_tree_model_iter_next (cd->cell, &iter)) { gboolean toggled; gtk_tree_model_get (cd->cell, &iter, CHECKBOX_COLUMN_SELECTED, &toggled, -1); if (toggled) selected |= 1u << i; else selected &= ~(1u << i); } g_string_append (string, "\n\t/CELLS="); if (selected & (1u << CS_CELLS_NONE)) g_string_append (string, "NONE"); else { n = 0; for (i = 0; i < N_CROSSTABS_CELLS; i++) if (selected & (1u << i)) { if (n++) g_string_append (string, " "); g_string_append (string, cells[i].name); } } g_string_append (string, ".\n"); text = string->str; g_string_free (string, FALSE); return text; }