/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2007, 2008, 2009, 2010, 2011, 2014, 2015 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2008, 2009, 2010, 2011, 2014, 2015, 2020 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
response = psppire_dialog_run (PSPPIRE_DIALOG (scd->rsample_dialog));
- if ( response != PSPPIRE_RESPONSE_CONTINUE)
+ if (response != PSPPIRE_RESPONSE_CONTINUE)
{
g_signal_handlers_disconnect_by_func
(G_OBJECT (scd->percent),
{
gchar *text;
- if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (scd->percent)))
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (scd->percent)))
{
text = widget_printf (gettext(label1), scd->spinbutton);
gtk_label_set_text (GTK_LABEL (scd->l0), text);
GTK_WINDOW (pda->dialog));
response = psppire_dialog_run (PSPPIRE_DIALOG (scd->range_subdialog));
- if ( response == PSPPIRE_RESPONSE_CONTINUE)
+ if (response == PSPPIRE_RESPONSE_CONTINUE)
{
gchar *text = widget_printf (_("%d thru %d"), scd->first, scd->last);
gtk_label_set_text (GTK_LABEL (scd->l1), text);
}
}
+
+/* When the all cases label button is clicked, set the corresponding button
+ to active. This is a convenience thing, since the button itself has
+ a very small area and is hard to find with the mouse pointer. */
+static gboolean
+on_button_release (GtkWidget *w, GdkEvent *e, gpointer a)
+{
+ PsppireDialogActionSelect *act = PSPPIRE_DIALOG_ACTION_SELECT (a);
+
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (act->radiobutton_all), TRUE);
+
+ return FALSE;
+}
+
static GtkBuilder *
psppire_dialog_action_select_activate (PsppireDialogAction *a, GVariant *param)
{
PsppireDialogActionSelect *act = PSPPIRE_DIALOG_ACTION_SELECT (a);
PsppireDialogAction *pda = PSPPIRE_DIALOG_ACTION (a);
-
- GtkBuilder *xml = builder_new ( "select-cases.ui");
+
+ GtkBuilder *xml = builder_new ("select-cases.ui");
pda->dialog = get_widget_assert (xml, "select-cases-dialog");
pda->source = get_widget_assert (xml, "select-cases-treeview");
act->sample_n_cases = get_widget_assert (xml, "radiobutton-sample-n-cases");
act->table = get_widget_assert (xml, "select-cases-random-sample-table");
- act->l0 = get_widget_assert (xml, "random-sample-label");;
+ act->l0 = get_widget_assert (xml, "random-sample-label");
act->radiobutton_range = get_widget_assert (xml, "radiobutton-range");
act->range_subdialog = get_widget_assert (xml, "select-cases-range-dialog");
act->radiobutton_filter = get_widget_assert (xml, "radiobutton-filter");
act->radiobutton_delete = get_widget_assert (xml, "radiobutton-delete");
+ GtkWidget *all_cases_event = get_widget_assert (xml, "all-cases-event");
+ g_signal_connect (all_cases_event, "button-release-event", G_CALLBACK (on_button_release), act);
- GtkWidget *button_range = get_widget_assert (xml, "button-range");
+ GtkWidget *button_range = get_widget_assert (xml, "button-range");
GtkWidget *button_sample = get_widget_assert (xml, "button-sample");
GtkWidget *button_if =get_widget_assert (xml, "button-if");
ds_put_cstr (&dss, "EXECUTE.\n");
}
- else if ( gtk_toggle_button_get_active
+ else if (gtk_toggle_button_get_active
(GTK_TOGGLE_BUTTON (scd->radiobutton_sample)))
{
- if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (scd->percent)))
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (scd->percent)))
{
const double percentage =
gtk_spin_button_get_value (GTK_SPIN_BUTTON (scd->spinbutton));
ds_put_c_format (&dss,
"COMPUTE %s = RV.UNIFORM (0,1) < %.*g.\n",
filter,
- DBL_DIG + 1, percentage / 100.0 );
+ DBL_DIG + 1, percentage / 100.0);
}
else
{
ranvar);
ds_put_c_format (&dss,
- "SORT BY %s, %s.\n",
+ "SORT CASES BY %s, %s.\n",
filter, ranvar);
ds_put_cstr (&dss, "EXECUTE.\n");
ds_put_c_format (&dss,
"COMPUTE %s = $CASENUM.\n",
- filter );
+ filter);
ds_put_c_format (&dss,
"COMPUTE %s = %s <= %d\n",
filter,
filter,
- n_cases );
+ n_cases);
ds_put_cstr (&dss, "EXECUTE.\n");
ds_put_c_format (&dss,
- "SORT BY %s.\n",
+ "SORT CASES BY %s.\n",
key);
ds_put_c_format (&dss,
gchar *text = NULL;
struct string dss;
- if ( gtk_toggle_button_get_active
+ if (gtk_toggle_button_get_active
(GTK_TOGGLE_BUTTON (scd->radiobutton_all)))
{
return xstrdup ("\n");
ds_init_empty (&dss);
- if ( gtk_toggle_button_get_active
+ if (gtk_toggle_button_get_active
(GTK_TOGGLE_BUTTON (scd->radiobutton_sample)))
{
ds_put_cstr (&dss, "SAMPLE ");
- if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (scd->percent)))
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (scd->percent)))
{
const double percentage =
gtk_spin_button_get_value (GTK_SPIN_BUTTON (scd->spinbutton));
}
}
- else if ( gtk_toggle_button_get_active
+ else if (gtk_toggle_button_get_active
(GTK_TOGGLE_BUTTON (scd->radiobutton_range)))
{
ds_put_c_format (&dss,
PsppireDialogActionSelect *scd = PSPPIRE_DIALOG_ACTION_SELECT (a);
/* In the simple case, all we need to do is cancel any existing filter */
- if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (scd->radiobutton_all)))
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (scd->radiobutton_all)))
{
return g_strdup ("FILTER OFF.\n");
}
/* Are we filtering or deleting ? */
- if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (scd->radiobutton_delete)))
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (scd->radiobutton_delete)))
{
return generate_syntax_delete (a);
}