/usr/include/libspreadsheet-1.12/spreadsheet/sheet-object-impl.h is in gnumeric 1.12.32-1+b1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 | /* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
#ifndef _GNM_SHEET_OBJECT_IMPL_H_
# define _GNM_SHEET_OBJECT_IMPL_H_
G_BEGIN_DECLS
#include "sheet-object.h"
#include <goffice/goffice.h>
#include <gsf/gsf-libxml.h>
#include <libxml/tree.h>
#include <glib-object.h>
#include <gtk/gtk.h>
typedef enum {
SHEET_OBJECT_IS_VISIBLE = 1 << 0, /* user selectable */
SHEET_OBJECT_PRINT = 1 << 1,
SHEET_OBJECT_CAN_PRESS = 1 << 2,
SHEET_OBJECT_CAN_RESIZE = 1 << 3,
SHEET_OBJECT_CAN_EDIT = 1 << 4,
/* Gnumeric specific properties */
SHEET_OBJECT_MOVE_WITH_CELLS = 1 << 16,
SHEET_OBJECT_SIZE_WITH_CELLS = 1 << 17,
SHEET_OBJECT_OBSCURED = 1 << 18 /* cells associated with region are hidden */
} SheetObjectFlags;
struct _SheetObject {
GObject parent_object;
Sheet *sheet;
GList *realized_list;
SheetObjectAnchor anchor;
SheetObjectFlags flags;
char *name;
};
typedef void (*SheetObjectActionFunc) (SheetObject *so, SheetControl *sc);
typedef gboolean (*SheetObjectEnableActionFunc) (SheetObject const *so);
typedef struct {
char const *icon; /* optionally NULL */
char const *label; /* NULL for separators */
char const *msg_domain; /* for plugins to specify translations */
int submenu; /* > 1 starts a menu, < 1 end one */
SheetObjectActionFunc func;
SheetObjectEnableActionFunc enable_func;
} SheetObjectAction;
typedef struct {
GObjectClass parent_class;
/* Signals */
void (*bounds_changed) (SheetObject *so);
void (*unrealized) (SheetObject *so);
void (*signal_pad1) (void);
void (*signal_pad2) (void);
/* Virtual methods */
gboolean (*remove_from_sheet) (SheetObject *so);
gboolean (*assign_to_sheet) (SheetObject *so,
Sheet *sheet);
SheetObjectView *(*new_view) (SheetObject *so,
SheetObjectViewContainer *container);
void (*populate_menu) (SheetObject *so,
GPtrArray *actions);
void (*user_config) (SheetObject *so,
SheetControl *s_control);
void (*prep_sax_parser) (SheetObject *so,
GsfXMLIn *xin, xmlChar const **attrs,
GnmConventions const *convs);
void (*write_xml_sax) (SheetObject const *so,
GsfXMLOut *output,
GnmConventions const *convs);
void (*copy) (SheetObject *dst,
SheetObject const *src);
void (*default_size) (SheetObject const *so,
double *w, double *h);
void (*draw_cairo) (SheetObject const *so, cairo_t *cr,
double width, double height);
void (*foreach_dep) (SheetObject *so,
SheetObjectForeachDepFunc func,
gpointer user);
void (*func_pad1) (void);
void (*func_pad2) (void);
/*
* If false, we draw a rectangle where the object is going to
* be layed out If true, we draw the object while laying
* it out on the sheet.
*/
gboolean rubber_band_directly;
/*
* If FALSE, a mouse click will select the object.
*/
gboolean interactive;
char const *xml_export_name;
void *data_pad1;
void *data_pad2;
void *data_pad3;
void *data_pad4;
} SheetObjectClass;
#define GNM_SO_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNM_SO_TYPE, SheetObjectClass))
/***************************************************************************/
struct _SheetObjectView {
GocGroup base;
GnmSOResizeMode resize_mode;
};
typedef struct {
GocGroupClass base;
void (*active) (SheetObjectView *sov, gboolean is_active);
void (*set_bounds) (SheetObjectView *sov,
double const *coords, gboolean visible);
} SheetObjectViewClass;
#define GNM_SO_VIEW_TYPE (sheet_object_view_get_type ())
#define GNM_SO_VIEW(o) (G_TYPE_CHECK_INSTANCE_CAST((o), GNM_SO_VIEW_TYPE, SheetObjectView))
#define GNM_IS_SO_VIEW(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNM_SO_VIEW_TYPE))
#define GNM_SO_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GNM_SO_VIEW_TYPE, SheetObjectViewIface))
#define GNM_IS_SO_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), GNM_SO_VIEW_TYPE))
#define GNM_SO_VIEW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GNM_SO_VIEW_TYPE, SheetObjectViewClass))
GType sheet_object_view_get_type (void);
SheetObject *sheet_object_view_get_so (SheetObjectView *sov);
void sheet_object_view_set_bounds (SheetObjectView *sov,
double const *coords,
gboolean visible);
/***************************************************************************/
typedef struct {
GTypeInterface base;
/* Map between anchors and un-normalized coordinates */
void (*anchor_to_coords) (SheetObjectViewContainer *sovc,
SheetObjectAnchor const *input, double *output);
void (*coords_to_anchor) (SheetObjectViewContainer *sovc,
double const *input, SheetObjectAnchor *output);
} SheetObjectViewContainerIface;
#if 0
void so_vc_anchor_to_coords (SheetObjectViewContainer *sovc,
SheetObjectAnchor const *input, double *output);
void so_vc_coords_to_anchor (SheetObjectViewContainer *sovc,
double const *input, SheetObjectAnchor *output);
#endif
/***************************************************************************/
typedef struct {
GTypeInterface base;
GtkTargetList *(*get_target_list) (SheetObject const *so);
void (*write_image) (SheetObject const *so,
char const *format,
double resolution,
GsfOutput *output,
GError **err);
} SheetObjectImageableIface;
/***************************************************************************/
typedef struct {
GTypeInterface base;
GtkTargetList *(*get_target_list) (SheetObject const *so);
void (*write_object) (SheetObject const *so,
char const *format,
GsfOutput *output, GError **err,
GnmConventions const *convs);
} SheetObjectExportableIface;
G_END_DECLS
#endif /* _GNM_SHEET_OBJECT_IMPL_H_ */
|