message: Introduce underlining for error message regions.
[pspp] / src / ui / gui / spreadsheet-test.c
index 8c96ec96a886607beedc0a010be7837dc9e17ebb..dfdd95c0ae8e119a5127c1c11e22131a9fa1f264 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2013  Free Software Foundation
+   Copyright (C) 2013, 2014  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
@@ -19,6 +19,7 @@
 
 #include <config.h>
 
+#include <float.h>
 #include <gtk/gtk.h>
 
 #include "psppire-spreadsheet-model.h"
@@ -68,7 +69,7 @@ on_clicked (GtkButton *button, struct xxx *stuff)
   proto = casereader_get_proto (reader);
 
   nvals = caseproto_get_n_widths (proto);
-  
+
   for (; (c = casereader_read (reader)) != NULL; case_unref (c))
     {
       int i;
@@ -78,12 +79,12 @@ on_clicked (GtkButton *button, struct xxx *stuff)
        const int width = caseproto_get_width (proto, i);
        const union value *val = case_data_idx (c, i);
        if (0 == width)
-         printf ("%g ", val->f);
+         printf ("%.*g ", DBL_DIG + 1, val->f);
        else
          {
            char *ss = xzalloc (width + 1);
-            memcpy (ss, value_str (val, width), width);
-           
+            memcpy (ss, val->s, width);
+
            printf ("%s ", ss);
            free (ss);
          }
@@ -94,7 +95,7 @@ on_clicked (GtkButton *button, struct xxx *stuff)
   casereader_destroy (reader);
 }
 
-static void 
+static void
 print_msg (const struct msg *m, void *aux UNUSED)
 {
   fprintf (stderr, "%s\n", m->text);
@@ -102,7 +103,7 @@ print_msg (const struct msg *m, void *aux UNUSED)
 
 
 int
-main (int argc, char *argv[] )
+main (int argc, char *argv[])
 {
   GtkWidget *window;
   GtkWidget *hbox;
@@ -117,11 +118,11 @@ main (int argc, char *argv[] )
   settings_init ();
 
   gtk_init (&argc, &argv);
-    
-  if ( argc < 2)
+
+  if (argc < 2)
     g_error ("Usage: prog file\n");
 
-  msg_set_handler (print_msg, 0);
+  msg_set_handler (&(struct msg_handler) { .output_msg = print_msg });
 
   stuff.sp = NULL;
 
@@ -130,7 +131,7 @@ main (int argc, char *argv[] )
 
   if (stuff.sp == NULL)
     stuff.sp = ods_probe (argv[1], false);
-  
+
   if (stuff.sp == NULL)
     {
       g_error ("%s is neither a gnumeric nor a ods file\n", argv[1]);
@@ -144,9 +145,9 @@ main (int argc, char *argv[] )
 
   button = gtk_button_new_with_label ("Test reader");
   g_signal_connect (button, "clicked", G_CALLBACK (on_clicked), &stuff);
-   
+
   gtk_container_set_border_width (GTK_CONTAINER (window), 10);
-  
+
   stuff.combo_box = gtk_combo_box_new();
 
   {
@@ -191,7 +192,7 @@ main (int argc, char *argv[] )
 
   gtk_main ();
 
-  spreadsheet_destroy (stuff.sp);
+  spreadsheet_unref (stuff.sp);
 
   return 0;
 }