/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2007, 2009, 2011, 2012 Free Software Foundation
+ Copyright (C) 2007, 2009, 2011, 2012, 2015 Free Software Foundation
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
#include "ui/gui/dict-display.h"
#include "ui/gui/find-dialog.h"
#include "ui/gui/helper.h"
-#include "ui/gui/psppire-data-sheet.h"
#include "ui/gui/psppire-data-store.h"
#include "ui/gui/psppire-data-window.h"
#include "ui/gui/psppire-dialog.h"
static void
do_find (GObject *obj, const struct find_dialog *fd)
{
- PsppireDataSheet *data_sheet;
casenumber x = -1;
gint column = -1;
glong row;
- data_sheet = psppire_data_editor_get_active_data_sheet (fd->de->data_editor);
- row = psppire_data_sheet_get_selected_case (data_sheet);
- if ( row < 0 )
- row = 0;
+
+ row = 10;
find_value (fd, row, &x, &column);
-
if ( x != -1)
{
gtk_notebook_set_current_page (GTK_NOTEBOOK (fd->de->data_editor),
PSPPIRE_DATA_EDITOR_DATA_VIEW);
- psppire_data_sheet_goto_case (data_sheet, x);
- psppire_data_sheet_goto_variable (data_sheet, column);
}
-
}
/* Callback on the selector.
fd.xml = builder_new ("find.ui");
fd.de = de;
- find_button = gtk_button_new_from_stock (GTK_STOCK_FIND);
+ find_button = gtk_button_new_with_label (_("Find"));
gtk_widget_show (find_button);
buttonbox = get_widget_assert (fd.xml, "find-buttonbox");
static casenumber
cm1 (casenumber current, struct datasheet *data)
{
+ if (current == -1)
+ return datasheet_get_n_rows (data);
+
return current - 1;
}
{
casenumber next = current;
+ if (current == -1)
+ return datasheet_get_n_rows (data);
+
backward_wrap (&next, data);
return next;
static casenumber
minus1 (casenumber current, struct datasheet *data)
{
+ if (current == -1)
+ return 0;
+
return -1;
}
const struct string_comparator *ssc =
(const struct string_comparator *) cmptr;
+ int width;
+
const char *text = var_lookup_value_label (cmptr->var, val);
- int width = strlen (text);
+ if (text == NULL)
+ return false;
+
+ width = strlen (text);
assert ( cmptr->flags & STR_CMP_LABELS);
const char *target_string = gtk_entry_get_text (GTK_ENTRY (fd->value_entry));
enum string_cmp_flags flags = 0;
- g_assert (current_row >= 0);
var = dict_lookup_var (fd->dict->dict, var_name);
if ( ! var )