#include "output/cairo-pager.h"
#include "output/driver-provider.h"
#include "output/driver.h"
-#include "output/chart-item.h"
-#include "output/group-item.h"
-#include "output/message-item.h"
#include "output/output-item.h"
-#include "output/output-item-provider.h"
#include "output/pivot-table.h"
-#include "output/table-item.h"
-#include "output/text-item.h"
#include "gl/c-xvasprintf.h"
#include "gl/minmax.h"
if (view->y > 0)
view->y += view->object_spacing;
- if (is_group_open_item (item->item))
+ if (item->item->type == OUTPUT_ITEM_GROUP_OPEN)
continue;
r = xr_fsm_create_for_scrolling (item->item, view->style, cr);
gtk_layout_move (view->output, item->drawing_area, xpos, view->y);
}
- if (is_table_item (item->item))
- {
- const struct table_item *ti = to_table_item (item->item);
- gtk_widget_set_tooltip_text (item->drawing_area, ti->pt->notes);
- }
+ if (item->item->type == OUTPUT_ITEM_TABLE)
+ gtk_widget_set_tooltip_text (item->drawing_area,
+ item->item->table->notes);
{
gint minw;
GtkWidget *drawing_area;
int tw, th;
- if (is_group_close_item (item))
+ if (item->type == OUTPUT_ITEM_GROUP_CLOSE)
{
if (view->cur_group)
{
}
return;
}
- else if (is_text_item (item))
+ else if (item->type == OUTPUT_ITEM_TEXT)
{
- const struct text_item *text_item = to_text_item (item);
- const char *text = text_item_get_text (text_item);
- if (text[0] == '\0')
+ char *text = text_item_get_plain_text (item);
+ bool text_is_empty = text[0] == '\0';
+ free (text);
+ if (text_is_empty)
return;
}
view_item->drawing_area = NULL;
GdkWindow *win = gtk_widget_get_window (GTK_WIDGET (view->output));
- if (is_group_open_item (item))
+ if (item->type == OUTPUT_ITEM_GROUP_OPEN)
tw = th = 0;
else if (win)
{
else
gtk_tree_store_append (store, &iter, NULL);
- if (is_group_open_item (item))
+ if (item->type == OUTPUT_ITEM_GROUP_OPEN)
{
gtk_tree_path_free (view->cur_group);
view->cur_group = gtk_tree_model_get_path (GTK_TREE_MODEL (store),
{
GtkTargetList *tl = gtk_target_list_new (targets, G_N_ELEMENTS (targets));
g_return_val_if_fail (tl, NULL);
- if (is_table_item (item) ||
- is_chart_item (item))
+ if (item->type == OUTPUT_ITEM_TABLE || item->type == OUTPUT_ITEM_CHART)
gtk_target_list_add_image_targets (tl, SELECT_FMT_IMG, TRUE);
return tl;
}
{
struct psppire_output_view_driver *povd = psppire_output_view_driver_cast (this);
- if (is_table_item (item))
+ if (item->type == OUTPUT_ITEM_TABLE)
psppire_output_view_put (povd->view, item);
}