output-item: Make command name part of every output_item.
[pspp] / src / output / text-item.h
index 95bfc0826fb7548de4870e90a99f2d241059d31a..49b5bbe1ebf531b5e216e46595395b7a10ffeb6b 100644 (file)
@@ -27,6 +27,7 @@
 #include <stdbool.h>
 #include "libpspp/compiler.h"
 #include "output/output-item.h"
+#include "output/table.h"
 
 enum text_item_type
   {
@@ -34,7 +35,6 @@ enum text_item_type
     TEXT_ITEM_TITLE,            /* Title. */
     TEXT_ITEM_SYNTAX,           /* Syntax printback logging. */
     TEXT_ITEM_LOG,              /* Other logging. */
-    TEXT_ITEM_EJECT_PAGE        /* Eject page. */
   };
 
 const char *text_item_type_to_string (enum text_item_type);
@@ -43,22 +43,23 @@ const char *text_item_type_to_string (enum text_item_type);
 struct text_item
   {
     struct output_item output_item;
-    char *text;                 /* The content. */
-    enum text_item_type type;   /* Type. */
-
-    bool bold, italic, underline, markup;
-    char *typeface;
-    int size;
+    enum text_item_type type;
+    struct pivot_value *text;
   };
 
-struct text_item *text_item_create (enum text_item_type, const char *text);
-struct text_item *text_item_create_nocopy (enum text_item_type, char *text);
-struct text_item *text_item_create_format (enum text_item_type,
-                                           const char *format, ...)
-  PRINTF_FORMAT (2, 3);
+struct text_item *text_item_create (enum text_item_type,
+                                    const char *text, const char *label);
+struct text_item *text_item_create_nocopy (enum text_item_type,
+                                           char *text, char *label);
+struct text_item *text_item_create_value (enum text_item_type,
+                                          struct pivot_value *value,
+                                          char *label);
 
 enum text_item_type text_item_get_type (const struct text_item *);
-const char *text_item_get_text (const struct text_item *);
+char *text_item_get_plain_text (const struct text_item *);
+
+struct text_item *text_item_unshare (struct text_item *);
+bool text_item_append (struct text_item *dst, const struct text_item *src);
 
 struct table_item *text_item_to_table_item (struct text_item *);
 \f