#include "output/text-item.h"
-#include <assert.h>
#include <stdarg.h>
#include <stdlib.h>
#include "libpspp/pool.h"
#include "output/driver.h"
#include "output/output-item-provider.h"
-#include "output/tab.h"
+#include "output/table.h"
#include "output/table-item.h"
#include "output/table-provider.h"
#include "gettext.h"
#define _(msgid) gettext (msgid)
+const char *
+text_item_type_to_string (enum text_item_type type)
+{
+ switch (type)
+ {
+ case TEXT_ITEM_PAGE_TITLE:
+ return _("Page Title");
+
+ case TEXT_ITEM_TITLE:
+ return _("Title");
+
+ case TEXT_ITEM_SYNTAX:
+ case TEXT_ITEM_LOG:
+ return _("Log");
+
+ case TEXT_ITEM_EJECT_PAGE:
+ return _("Page Break");
+
+ default:
+ return _("Text");
+ }
+}
+
/* Creates and returns a new text item containing TEXT and the specified TYPE.
The new text item takes ownership of TEXT. */
struct text_item *
struct table_item *
text_item_to_table_item (struct text_item *text_item)
{
- struct tab_table *tab = tab_create (1, 1);
+ struct table *tab = table_create (1, 1, 0, 0, 0, 0);
struct area_style *style = pool_alloc (tab->container, sizeof *style);
- *style = (struct area_style) AREA_STYLE_INITIALIZER;
+ *style = (struct area_style) { AREA_STYLE_INITIALIZER__,
+ .cell_style.halign = TABLE_HALIGN_LEFT };
struct font_style *font_style = &style->font_style;
if (text_item->typeface)
font_style->typeface = pool_strdup (tab->container, text_item->typeface);
font_style->markup = text_item->markup;
tab->styles[0] = style;
- int opts = TAB_LEFT;
+ int opts = 0;
if (text_item->markup)
opts |= TAB_MARKUP;
if (text_item->type == TEXT_ITEM_SYNTAX || text_item->type == TEXT_ITEM_LOG)
opts |= TAB_FIX;
- tab_text (tab, 0, 0, opts, text_item_get_text (text_item));
- struct table_item *table_item = table_item_create (&tab->table, NULL, NULL);
+ table_text (tab, 0, 0, opts, text_item_get_text (text_item));
+ struct table_item *table_item = table_item_create (tab, NULL, NULL);
text_item_unref (text_item);
return table_item;
}