1 /* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 #ifndef _GNM_SHEET_CONTROL_H_
3 # define _GNM_SHEET_CONTROL_H_
6 #include <glib-object.h>
10 #define GNM_SC_TYPE (sheet_control_get_type ())
11 #define GNM_SC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNM_SC_TYPE, SheetControl))
12 #define GNM_IS_SC(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNM_SC_TYPE))
15 GType
sheet_control_get_type (void);
16 SheetView
*sc_view (SheetControl
const *sc
);
17 Sheet
*sc_sheet (SheetControl
const *sc
);
18 WorkbookControl
*sc_wbc (SheetControl
const *sc
);
22 * The GUI layer accesses the SheetControlGUI methods directly without
23 * calling the virtual. Change this if the base class becomes something
24 * more than a passthrough.
26 void sc_resize (SheetControl
*sc
, gboolean force_scroll
);
27 void sc_redraw_all (SheetControl
*sc
, gboolean headers
);
28 void sc_redraw_range (SheetControl
*sc
, GnmRange
const *r
);
29 void sc_redraw_headers (SheetControl
*sc
,
30 gboolean
const col
, gboolean
const row
,
31 GnmRange
const * r
/* optional == NULL */);
32 void sc_ant (SheetControl
*sc
);
33 void sc_unant (SheetControl
*sc
);
35 void sc_scrollbar_config (SheetControl
*sc
);
37 void sc_mode_edit (SheetControl
*sc
);
39 void sc_set_top_left (SheetControl
*sc
, int col
, int row
);
40 void sc_recompute_visible_region(SheetControl
*sc
, gboolean full_recompute
);
41 void sc_make_cell_visible (SheetControl
*sc
, int col
, int row
,
42 gboolean couple_panes
);
44 void sc_cursor_bound (SheetControl
*sc
, GnmRange
const *r
);
45 void sc_set_panes (SheetControl
*sc
);
46 void sc_object_create_view (SheetControl
*sc
, SheetObject
*so
);
47 void sc_scale_changed (SheetControl
*sc
);
49 void sc_show_im_tooltip (SheetControl
*sc
,
50 GnmInputMsg
*im
, GnmCellPos
*pos
);
54 #endif /* _GNM_SHEET_CONTROL_H_ */