[gnumeric] Kittens: bring out your dead!
- From: Morten Welinder <mortenw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnumeric] Kittens: bring out your dead!
- Date: Wed, 10 Nov 2010 20:48:42 +0000 (UTC)
commit 50afbaac8535494dd26ecb51d2a860283de00e0f
Author: Morten Welinder <terra gnome org>
Date: Wed Nov 10 15:48:19 2010 -0500
Kittens: bring out your dead!
configure.in | 7 +-
plugins/excel/ms-obj.c | 14 ++--
src/commands.c | 14 +----
src/dead-kittens.h | 50 ++++++++++++++-
src/dialogs/dialog-autoformat.c | 6 +-
src/dialogs/dialog-cell-format.c | 11 +---
src/gnm-pane.c | 11 ++--
src/gui-util.c | 8 ++-
src/io-context-gtk.c | 3 +-
src/sheet-control-gui.c | 104 +++++++++++++++----------------
src/sheet-object-widget.c | 127 +++++++++++++++++++++++--------------
src/wbc-gtk.c | 11 ++--
12 files changed, 213 insertions(+), 153 deletions(-)
---
diff --git a/configure.in b/configure.in
index 69f5d0f..dda52d1 100644
--- a/configure.in
+++ b/configure.in
@@ -688,16 +688,17 @@ LIBS="$GNUMERIC_LIBS $LIBS"
AC_CHECK_FUNCS(g_option_context_set_delocalize g_hash_table_get_keys)
AC_CHECK_FUNCS(gdk_cairo_set_source_rgba)
-AC_CHECK_FUNCS(gtk_adjustment_configure gtk_adjustment_set_lower gtk_adjustment_set_upper gtk_adjustment_get_page_size)
+AC_CHECK_FUNCS(gtk_adjustment_configure gtk_adjustment_get_page_increment gtk_adjustment_get_page_size gtk_adjustment_get_lower gtk_adjustment_get_upper gtk_adjustment_get_step_increment gtk_adjustment_set_lower gtk_adjustment_set_upper gtk_adjustment_set_page_increment gtk_adjustment_set_step_increment)
AC_CHECK_FUNCS(gtk_cell_renderer_get_alignment gtk_cell_renderer_get_padding)
AC_CHECK_FUNCS(gtk_cell_renderer_text_get_background_set gtk_cell_renderer_text_get_foreground_set gtk_cell_renderer_text_get_editable)
AC_CHECK_FUNCS(gtk_dialog_get_content_area gtk_dialog_get_action_area)
-AC_CHECK_FUNCS(gtk_entry_get_text_length gtk_entry_set_icon_from_stock gtk_entry_get_buffer gtk_entry_get_text_area gtk_entry_set_editing_cancelled)
+AC_CHECK_FUNCS(gtk_entry_get_text_length gtk_entry_set_icon_from_stock gtk_entry_get_buffer gtk_entry_get_text_area gtk_entry_set_editing_cancelled gtk_entry_get_overwrite_mode)
AC_CHECK_FUNCS(gtk_layout_get_bin_window)
AC_CHECK_FUNCS(gtk_orientable_set_orientation)
AC_CHECK_FUNCS(gtk_table_get_size)
AC_CHECK_FUNCS(gtk_tree_view_column_get_button)
-AC_CHECK_FUNCS(gtk_widget_get_visible gtk_widget_set_visible gtk_widget_get_state gtk_widget_is_toplevel gtk_widget_get_window gtk_widget_get_can_focus gtk_widget_has_focus gtk_widget_get_style gtk_widget_get_allocation gtk_widget_is_sensitive gtk_widget_set_can_focus gtk_widget_get_realized)
+AC_CHECK_FUNCS(gtk_widget_get_visible gtk_widget_set_visible gtk_widget_get_state gtk_widget_is_toplevel gtk_widget_get_window gtk_widget_get_can_focus gtk_widget_has_focus gtk_widget_get_style gtk_widget_get_allocation gtk_widget_is_sensitive gtk_widget_set_can_focus gtk_widget_set_can_default gtk_widget_get_realized)
+AC_CHECK_FUNCS(gtk_window_get_default_widget)
AC_CHECK_FUNCS(gsf_infile_msvba_steal_modules gsf_open_pkg_foreach_rel )
AC_CHECK_FUNCS(pango_font_map_create_context)
diff --git a/plugins/excel/ms-obj.c b/plugins/excel/ms-obj.c
index 7cf460e..c36d874 100644
--- a/plugins/excel/ms-obj.c
+++ b/plugins/excel/ms-obj.c
@@ -1560,11 +1560,11 @@ ms_objv8_write_adjustment (BiffPut *bp,
GSF_LE_SET_GUINT16 (data + 2, sizeof (data) - 4);
GSF_LE_SET_GUINT32 (data + 4, 0); /* Unused */
#define SQUEEZE(f) ((guint16)CLAMP(f, -32768, 32767))
- GSF_LE_SET_GUINT16 (data + 8, SQUEEZE (adj->value));
- GSF_LE_SET_GINT16 (data + 10, SQUEEZE (adj->lower));
- GSF_LE_SET_GINT16 (data + 12, SQUEEZE (adj->upper + adj->step_increment));
- GSF_LE_SET_GINT16 (data + 14, SQUEEZE (adj->step_increment));
- GSF_LE_SET_GINT16 (data + 16, SQUEEZE (adj->page_increment));
+ GSF_LE_SET_GUINT16 (data + 8, SQUEEZE (gtk_adjustment_get_value (adj)));
+ GSF_LE_SET_GINT16 (data + 10, SQUEEZE (gtk_adjustment_get_lower (adj)));
+ GSF_LE_SET_GINT16 (data + 12, SQUEEZE (gtk_adjustment_get_upper (adj) + gtk_adjustment_get_step_increment (adj)));
+ GSF_LE_SET_GINT16 (data + 14, SQUEEZE (gtk_adjustment_get_step_increment (adj)));
+ GSF_LE_SET_GINT16 (data + 16, SQUEEZE (gtk_adjustment_get_page_increment (adj)));
#undef SQUEEZE
GSF_LE_SET_GINT16 (data + 18, !!horiz);
GSF_LE_SET_GINT16 (data + 20, 15); /* widget in pixels */
@@ -1673,8 +1673,8 @@ ms_objv8_write_list (BiffPut *bp,
if (0 && macro_nexpr)
ms_objv8_write_macro_ref (bp, esheet, macro_nexpr);
ms_objv8_write_list_data (bp, esheet, data_texpr,
- (guint16)adj->upper - 1,
- (guint16)adj->value);
+ (guint16)gtk_adjustment_get_upper (adj) - 1,
+ (guint16)gtk_adjustment_get_value (adj));
}
void
diff --git a/src/commands.c b/src/commands.c
index 0581144..e8039b8 100644
--- a/src/commands.c
+++ b/src/commands.c
@@ -76,6 +76,7 @@
#include "tools/tabulate.h"
#include "wbc-gtk.h"
#include "undo.h"
+#include <dead-kittens.h>
#include <goffice/goffice.h>
#include <gsf/gsf-doc-meta-data.h>
@@ -7624,19 +7625,6 @@ cmd_so_set_checkbox (WorkbookControl *wbc,
#define CMD_SO_SET_ADJUSTMENT_TYPE (cmd_so_set_adjustment_get_type ())
#define CMD_SO_SET_ADJUSTMENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), CMD_SO_SET_ADJUSTMENT_TYPE, CmdSOSetAdjustment))
-#ifndef HAVE_GTK_ADJUSTMENT_CONFIGURE
-# define gtk_adjustment_configure(adjustment,value,lower,upper,step_increment,page_increment,page_size) \
- g_object_set (G_OBJECT (adjustment), "value", (double) (value), "lower", (double) (lower), "upper", (double) (upper), \
- "step-increment", (double) (step_increment), "page-increment", (double) (page_increment), \
- "page-size", (double) (page_size), NULL)
-# define gtk_adjustment_get_value(adjustment) (adjustment)->value
-# define gtk_adjustment_get_lower(adjustment) (adjustment)->lower
-# define gtk_adjustment_get_upper(adjustment) (adjustment)->upper
-# define gtk_adjustment_get_step_increment(adjustment) (adjustment)->step_increment
-# define gtk_adjustment_get_page_increment(adjustment) (adjustment)->page_increment
-# define gtk_adjustment_get_page_size(adjustment) (adjustment)->page_size
-#endif
-
typedef struct {
GnmCommand cmd;
SheetObject *so;
diff --git a/src/dead-kittens.h b/src/dead-kittens.h
index 35b6ba2..5020e8b 100644
--- a/src/dead-kittens.h
+++ b/src/dead-kittens.h
@@ -61,6 +61,10 @@
# endif
#endif
+#ifndef HAVE_GTK_ENTRY_GET_OVERWRITE_MODE
+#define gtk_entry_get_overwrite_mode(_e_) ((_e_)->overwrite_mode)
+#endif
+
/* This function does not exist in gtk+ yet. 634342. */
#ifndef HAVE_GTK_ENTRY_SET_EDITING_CANCELLED
#define gtk_entry_set_editing_cancelled(_e_,_b_) \
@@ -107,6 +111,18 @@
#define gtk_widget_has_focus(w) GTK_WIDGET_HAS_FOCUS (w)
#endif
+#ifndef HAVE_GTK_WIDGET_SET_CAN_DEFAULT
+#define gtk_widget_set_can_default(w,t) \
+ do { \
+ if (t) GTK_WIDGET_SET_FLAGS ((w), GTK_CAN_DEFAULT); \
+ else GTK_WIDGET_UNSET_FLAGS ((w), GTK_CAN_DEFAULT); \
+ } while (0)
+#endif
+
+#ifndef HAVE_GTK_WIDGET_GET_CAN_FOCUS
+#define gtk_widget_get_can_focus(_w_) GTK_WIDGET_CAN_FOCUS((_w_))
+#endif
+
#ifndef HAVE_GTK_WIDGET_SET_CAN_FOCUS
#define gtk_widget_set_can_focus(w,t) \
do { \
@@ -139,20 +155,46 @@
NULL)
#endif
+#ifndef HAVE_GTK_ADJUSTMENT_GET_LOWER
+#define gtk_adjustment_get_lower(_a) ((_a)->lower)
+#endif
+
+#ifndef HAVE_GTK_ADJUSTMENT_GET_UPPER
+#define gtk_adjustment_get_lower(_a) ((_a)->upper)
+#endif
+
#ifndef HAVE_GTK_ADJUSTMENT_GET_PAGE_SIZE
#define gtk_adjustment_get_page_size(_a) ((_a)->page_size)
#endif
+#ifndef HAVE_GTK_ADJUSTMENT_GET_PAGE_INCREMENT
+#define gtk_adjustment_get_page_increment(_a) ((_a)->page_increment)
+#endif
+
+#ifndef HAVE_GTK_ADJUSTMENT_GET_STEP_INCREMENT
+#define gtk_adjustment_get_step_increment(_a) ((_a)->step_increment)
+#endif
+
#ifndef HAVE_GTK_ADJUSTMENT_SET_LOWER
-#define gtk_adjustment_set_lower (_a,_l) \
+#define gtk_adjustment_set_lower(_a,_l) \
g_object_set ((_a), "lower", (double)(_l), NULL)
#endif
#ifndef HAVE_GTK_ADJUSTMENT_SET_UPPER
-#define gtk_adjustment_set_upper (_a,_u) \
+#define gtk_adjustment_set_upper(_a,_u) \
g_object_set ((_a), "upper", (double)(_u), NULL)
#endif
+#ifndef HAVE_GTK_ADJUSTMENT_PAGE_INCREMENT
+#define gtk_adjustment_set_page_increment(_a,_pi) \
+ g_object_set ((_a), "page-increment", (double)(_pi), NULL)
+#endif
+
+#ifndef HAVE_GTK_ADJUSTMENT_STEP_INCREMENT
+#define gtk_adjustment_set_step_increment(_a,_si) \
+ g_object_set ((_a), "step-increment", (double)(_si), NULL)
+#endif
+
#ifndef HAVE_GTK_TABLE_GET_SIZE
# ifdef HAVE_GTK_TABLE_NROWS
# define gtk_table_get_size(_t,_r,_c) do { \
@@ -183,4 +225,8 @@
# endif
#endif
+#ifndef HAVE_GTK_WINDOW_GET_DEFAULT_WIDGET
+#define gtk_window_get_default_widget(_w_) ((_w_)->default_widget)
+#endif
+
#endif
diff --git a/src/dialogs/dialog-autoformat.c b/src/dialogs/dialog-autoformat.c
index 3bcdb8b..a2ccff3 100644
--- a/src/dialogs/dialog-autoformat.c
+++ b/src/dialogs/dialog-autoformat.c
@@ -244,10 +244,8 @@ templates_load (AutoFormatState *state)
/*
* Hide the scrollbar when it's not needed
*/
- if (n_templates > NUM_PREVIEWS)
- gtk_widget_show (GTK_WIDGET (state->scroll));
- else
- gtk_widget_hide (GTK_WIDGET (state->scroll));
+ gtk_widget_set_visible (GTK_WIDGET (state->scroll),
+ n_templates > NUM_PREVIEWS);
return TRUE;
}
diff --git a/src/dialogs/dialog-cell-format.c b/src/dialogs/dialog-cell-format.c
index 6bce5e4..79dea34 100644
--- a/src/dialogs/dialog-cell-format.c
+++ b/src/dialogs/dialog-cell-format.c
@@ -2383,14 +2383,9 @@ set_initial_focus (FormatState *s)
else
focus_widget = NULL;
-
- if (focus_widget
-#ifdef HAVE_GTK_WIDGET_GET_CAN_FOCUS
- && gtk_widget_get_can_focus (focus_widget)
-#else
- && GTK_WIDGET_CAN_FOCUS (focus_widget)
-#endif
- && gtk_widget_is_sensitive (focus_widget))
+ if (focus_widget &&
+ gtk_widget_get_can_focus (focus_widget) &&
+ gtk_widget_is_sensitive (focus_widget))
gtk_widget_grab_focus (focus_widget);
}
diff --git a/src/gnm-pane.c b/src/gnm-pane.c
index a0aca68..fc84075 100644
--- a/src/gnm-pane.c
+++ b/src/gnm-pane.c
@@ -685,13 +685,14 @@ gnm_pane_realize (GtkWidget *w)
/* Set the default background color of the canvas itself to white.
* This makes the redraws when the canvas scrolls flicker less. */
- style = gtk_style_copy (w->style);
+ style = gtk_style_copy (gtk_widget_get_style (w));
style->bg[GTK_STATE_NORMAL] = style->white;
gtk_widget_set_style (w, style);
g_object_unref (style);
- gtk_im_context_set_client_window (GNM_PANE (w)->im_context,
- gtk_widget_get_toplevel (w)->window);
+ gtk_im_context_set_client_window
+ (GNM_PANE (w)->im_context,
+ gtk_widget_get_window (gtk_widget_get_toplevel (w)));
}
static void
@@ -747,7 +748,7 @@ cb_gnm_pane_commit (GtkIMContext *context, char const *str, GnmPane *pane)
gtk_editable_delete_selection (editable);
else {
tmp_pos = gtk_editable_get_position (editable);
- if (GTK_ENTRY (editable)->overwrite_mode)
+ if (gtk_entry_get_overwrite_mode (GTK_ENTRY (editable)))
gtk_editable_delete_text (editable,tmp_pos,tmp_pos+1);
}
@@ -949,7 +950,7 @@ gnm_pane_init (GnmPane *pane)
pane->im_first_focus = TRUE;
gtk_widget_set_can_focus (GTK_WIDGET (canvas), TRUE);
- GTK_WIDGET_SET_FLAGS (canvas, GTK_CAN_DEFAULT);
+ gtk_widget_set_can_default (GTK_WIDGET (canvas), TRUE);
g_signal_connect (G_OBJECT (pane->im_context), "commit",
G_CALLBACK (cb_gnm_pane_commit), pane);
diff --git a/src/gui-util.c b/src/gui-util.c
index b210823..0c569d1 100644
--- a/src/gui-util.c
+++ b/src/gui-util.c
@@ -227,6 +227,7 @@ static void
cb_save_sizes (GtkWidget *dialog, const char *key)
{
GdkRectangle *r;
+ GtkAllocation da;
GdkScreen *screen = gtk_widget_get_screen (dialog);
GHashTable *h = g_object_get_data (G_OBJECT (screen),
SAVE_SIZES_SCREEN_KEY);
@@ -247,7 +248,8 @@ cb_save_sizes (GtkWidget *dialog, const char *key)
(GDestroyNotify)g_hash_table_destroy);
}
- r = g_memdup (&dialog->allocation, sizeof (dialog->allocation));
+ gtk_widget_get_allocation (dialog, &da);
+ r = g_memdup (&da, sizeof (da));
gdk_window_get_position (gtk_widget_get_window (dialog), &r->x, &r->y);
g_hash_table_replace (h, g_strdup (key), r);
}
@@ -350,12 +352,12 @@ gnumeric_dialog_raise_if_exists (WBCGtk *wbcg, char const *key)
static gboolean
cb_activate_default (GtkWindow *window)
{
+ GtkWidget *dw = gtk_window_get_default_widget (window);
/*
* gtk_window_activate_default has a bad habit of trying
* to activate the focus widget.
*/
- return window->default_widget &&
- gtk_widget_is_sensitive (window->default_widget) &&
+ return dw && gtk_widget_is_sensitive (dw) &&
gtk_window_activate_default (window);
}
diff --git a/src/io-context-gtk.c b/src/io-context-gtk.c
index 0bcff14..ed9e7d1 100644
--- a/src/io-context-gtk.c
+++ b/src/io-context-gtk.c
@@ -97,7 +97,8 @@ cb_realize (GtkWindow *window, void *dummy)
/* In a Xinerama setup, we want the geometry of the actual display
* unit, if available. See bug 59902. */
- gdk_screen_get_monitor_geometry (window->screen, 0, &rect);
+ gdk_screen_get_monitor_geometry (gtk_window_get_screen (window),
+ 0, &rect);
sx = rect.width;
sy = rect.height;
gtk_widget_get_allocation (GTK_WIDGET (window), &allocation);
diff --git a/src/sheet-control-gui.c b/src/sheet-control-gui.c
index c351470..3c4f2a9 100644
--- a/src/sheet-control-gui.c
+++ b/src/sheet-control-gui.c
@@ -424,34 +424,31 @@ scg_scrollbar_config (SheetControl const *sc)
int max_col = last_col;
int max_row = last_row;
- if (sv_is_frozen (sv)) {
- ha->lower = sv->unfrozen_top_left.col;
- va->lower = sv->unfrozen_top_left.row;
- } else
- ha->lower = va->lower = 0;
-
if (max_row < sheet->rows.max_used)
max_row = sheet->rows.max_used;
if (max_row < sheet->max_object_extent.row)
max_row = sheet->max_object_extent.row;
- va->upper = max_row + 1;
- va->value = pane->first.row;
- va->page_size = last_row - pane->first.row + 1;
- va->page_increment = MAX (va->page_size - 3.0, 1.0);
- va->step_increment = 1;
+ gtk_adjustment_configure
+ (va,
+ pane->first.row,
+ sv_is_frozen (sv) ? sv->unfrozen_top_left.row : 0,
+ max_row + 1,
+ 1,
+ MAX (gtk_adjustment_get_page_size (va) - 3.0, 1.0),
+ last_row - pane->first.row + 1);
if (max_col < sheet->cols.max_used)
max_col = sheet->cols.max_used;
if (max_col < sheet->max_object_extent.col)
max_col = sheet->max_object_extent.col;
- ha->upper = max_col + 1;
- ha->page_size = last_col - pane->first.col + 1;
- ha->value = pane->first.col;
- ha->page_increment = MAX (ha->page_size - 3.0, 1.0);
- ha->step_increment = 1;
-
- gtk_adjustment_changed (va);
- gtk_adjustment_changed (ha);
+ gtk_adjustment_configure
+ (ha,
+ pane->first.col,
+ sv_is_frozen (sv) ? sv->unfrozen_top_left.col : 0,
+ max_col + 1,
+ 1,
+ MAX (gtk_adjustment_get_page_size (ha) - 3.0, 1.0),
+ last_col - pane->first.col + 1);
}
}
@@ -563,7 +560,7 @@ cb_select_all_btn_expose (GtkWidget *widget, GdkEventExpose *event, SheetControl
/* This should be keep in sync with item_bar_cell code (item-bar.c) */
gdk_draw_rectangle (gtk_widget_get_window (widget),
- widget->style->bg_gc[GTK_STATE_ACTIVE],
+ gtk_widget_get_style (widget)->bg_gc[GTK_STATE_ACTIVE],
TRUE,
offset + 1, 1, widget->allocation.width - 1, widget->allocation.height - 1);
/* The widget parameters could be NULL, but if so some themes would emit a warning.
@@ -590,34 +587,43 @@ cb_select_all_btn_event (GtkWidget *widget, GdkEvent *event, SheetControlGUI *sc
static void
cb_vscrollbar_value_changed (GtkRange *range, SheetControlGUI *scg)
{
- scg_set_top_row (scg, range->adjustment->value);
+ GtkAdjustment *adj = gtk_range_get_adjustment (range);
+ scg_set_top_row (scg, gtk_adjustment_get_value (adj));
}
+
static void
cb_hscrollbar_value_changed (GtkRange *range, SheetControlGUI *scg)
{
- scg_set_left_col (scg, range->adjustment->value);
+ GtkAdjustment *adj = gtk_range_get_adjustment (range);
+ scg_set_left_col (scg, gtk_adjustment_get_value (adj));
}
static void
cb_hscrollbar_adjust_bounds (GtkRange *range, gdouble new_value, Sheet *sheet)
{
- gdouble limit = range->adjustment->upper - range->adjustment->page_size;
- if (range->adjustment->upper < gnm_sheet_get_max_cols (sheet) && new_value >= limit) {
- range->adjustment->upper = new_value + range->adjustment->page_size + 1;
- if (range->adjustment->upper > gnm_sheet_get_max_cols (sheet))
- range->adjustment->upper = gnm_sheet_get_max_cols (sheet);
- gtk_adjustment_changed (range->adjustment);
+ GtkAdjustment *adj = gtk_range_get_adjustment (range);
+ double upper = gtk_adjustment_get_upper (adj);
+ double page_size = gtk_adjustment_get_page_size (adj);
+ gdouble limit = upper - page_size;
+ if (upper < gnm_sheet_get_max_cols (sheet) && new_value >= limit) {
+ upper = new_value + page_size + 1;
+ if (upper > gnm_sheet_get_max_cols (sheet))
+ upper = gnm_sheet_get_max_cols (sheet);
+ gtk_adjustment_set_upper (adj, upper);
}
}
static void
cb_vscrollbar_adjust_bounds (GtkRange *range, gdouble new_value, Sheet *sheet)
{
- gdouble limit = range->adjustment->upper - range->adjustment->page_size;
- if (range->adjustment->upper < gnm_sheet_get_max_rows (sheet) && new_value >= limit) {
- range->adjustment->upper = new_value + range->adjustment->page_size + 1;
- if (range->adjustment->upper > gnm_sheet_get_max_rows (sheet))
- range->adjustment->upper = gnm_sheet_get_max_rows (sheet);
- gtk_adjustment_changed (range->adjustment);
+ GtkAdjustment *adj = gtk_range_get_adjustment (range);
+ double upper = gtk_adjustment_get_upper (adj);
+ double page_size = gtk_adjustment_get_page_size (adj);
+ gdouble limit = upper - page_size;
+ if (upper < gnm_sheet_get_max_rows (sheet) && new_value >= limit) {
+ upper = new_value + page_size + 1;
+ if (upper > gnm_sheet_get_max_rows (sheet))
+ upper = gnm_sheet_get_max_rows (sheet);
+ gtk_adjustment_set_upper (adj, upper);
}
}
@@ -1740,37 +1746,27 @@ scg_adjust_preferences (SheetControlGUI *scg)
SCG_FOREACH_PANE (scg, pane, {
if (pane->col.canvas != NULL) {
- if (sheet->hide_col_header)
- gtk_widget_hide (GTK_WIDGET (pane->col.alignment));
- else
- gtk_widget_show (GTK_WIDGET (pane->col.alignment));
+ gtk_widget_set_visible (GTK_WIDGET (pane->col.alignment),
+ !sheet->hide_col_header);
}
if (pane->row.canvas != NULL) {
- if (sheet->hide_row_header)
- gtk_widget_hide (GTK_WIDGET (pane->row.alignment));
- else
- gtk_widget_show (GTK_WIDGET (pane->row.alignment));
+ gtk_widget_set_visible (GTK_WIDGET (pane->row.alignment),
+ !sheet->hide_row_header);
}
});
if (scg->corner) {
- if (sheet->hide_col_header || sheet->hide_row_header)
- gtk_widget_hide (GTK_WIDGET (scg->corner));
- else
- gtk_widget_show (GTK_WIDGET (scg->corner));
+ gtk_widget_set_visible (GTK_WIDGET (scg->corner),
+ !(sheet->hide_col_header || sheet->hide_row_header));
if (scg_wbc (scg) != NULL) {
WorkbookView *wbv = wb_control_view (scg_wbc (scg));
- if (wbv->show_horizontal_scrollbar)
- gtk_widget_show (scg->hs);
- else
- gtk_widget_hide (scg->hs);
+ gtk_widget_set_visible (scg->hs,
+ wbv->show_horizontal_scrollbar);
- if (wbv->show_vertical_scrollbar)
- gtk_widget_show (scg->vs);
- else
- gtk_widget_hide (scg->vs);
+ gtk_widget_set_visible (scg->vs,
+ wbv->show_vertical_scrollbar);
}
}
}
diff --git a/src/sheet-object-widget.c b/src/sheet-object-widget.c
index 55fd43f..9d6b654 100644
--- a/src/sheet-object-widget.c
+++ b/src/sheet-object-widget.c
@@ -345,7 +345,7 @@ static GSF_CLASS (SheetObjectWidget, sheet_object_widget,
static WorkbookControl *
widget_wbc (GtkWidget *widget)
{
- return scg_wbc (GNM_SIMPLE_CANVAS (widget->parent)->scg);
+ return scg_wbc (GNM_SIMPLE_CANVAS (gtk_widget_get_parent (widget))->scg);
}
@@ -1098,8 +1098,9 @@ sheet_widget_button_set_markup (SheetObject *so, PangoAttrList *markup)
for (ptr = swb->sow.so.realized_list; ptr != NULL; ptr = ptr->next) {
SheetObjectView *view = ptr->data;
GocWidget *item = get_goc_widget (view);
- gtk_label_set_attributes (GTK_LABEL (GTK_BIN (item->widget)->child),
- swb->markup);
+ GtkLabel *lab =
+ GTK_LABEL (gtk_bin_get_child (GTK_BIN (item->widget)));
+ gtk_label_set_attributes (lab, swb->markup);
}
}
@@ -1213,10 +1214,8 @@ sheet_widget_adjustment_set_value (SheetWidgetAdjustment *swa, double new_val)
{
if (swa->being_updated)
return;
- swa->adjustment->value = new_val;
-
swa->being_updated = TRUE;
- gtk_adjustment_value_changed (swa->adjustment);
+ gtk_adjustment_set_value (swa->adjustment, new_val);
swa->being_updated = FALSE;
}
@@ -1287,7 +1286,7 @@ cb_adjustment_widget_value_changed (GtkWidget *widget,
if (so_get_ref (SHEET_OBJECT (swa), &ref, TRUE) != NULL) {
GnmCell *cell = sheet_cell_fetch (ref.sheet, ref.col, ref.row);
/* TODO : add more control for precision, XL is stupid */
- int new_val = gnm_fake_round (swa->adjustment->value);
+ int new_val = gnm_fake_round (gtk_adjustment_get_value (swa->adjustment));
if (cell->value != NULL &&
VALUE_IS_FLOAT (cell->value) &&
value_get_as_float (cell->value) == new_val)
@@ -1420,11 +1419,14 @@ sheet_widget_adjustment_copy (SheetObject *dst, SheetObject const *src)
dst_adjust = dst_swa->adjustment;
src_adjust = src_swa->adjustment;
- dst_adjust->lower = src_adjust->lower;
- dst_adjust->upper = src_adjust->upper;
- dst_adjust->value = src_adjust->value;
- dst_adjust->step_increment = src_adjust->step_increment;
- dst_adjust->page_increment = src_adjust->page_increment;
+ gtk_adjustment_configure
+ (dst_adjust,
+ gtk_adjustment_get_value (src_adjust),
+ gtk_adjustment_get_lower (src_adjust),
+ gtk_adjustment_get_upper (src_adjust),
+ gtk_adjustment_get_step_increment (src_adjust),
+ gtk_adjustment_get_page_increment (src_adjust),
+ gtk_adjustment_get_page_size (src_adjust));
}
typedef struct {
@@ -1449,16 +1451,20 @@ static void
cb_adjustment_set_focus (GtkWidget *window, GtkWidget *focus_widget,
AdjustmentConfigState *state)
{
+ GtkWidget *ofp;
+
/* Note: half of the set-focus action is handle by the default
* callback installed by wbc_gtk_attach_guru. */
+ ofp = state->old_focus
+ ? gtk_widget_get_parent (state->old_focus)
+ : NULL;
/* Force an update of the content in case it needs tweaking (eg make it
* absolute) */
- if (state->old_focus != NULL &&
- IS_GNM_EXPR_ENTRY (state->old_focus->parent)) {
+ if (ofp && IS_GNM_EXPR_ENTRY (ofp)) {
GnmParsePos pp;
GnmExprTop const *texpr = gnm_expr_entry_parse (
- GNM_EXPR_ENTRY (state->old_focus->parent),
+ GNM_EXPR_ENTRY (ofp),
parse_pos_init_sheet (&pp, state->sheet),
NULL, FALSE, GNM_EXPR_PARSE_DEFAULT);
if (texpr != NULL)
@@ -1576,13 +1582,17 @@ sheet_widget_adjustment_user_config_impl (SheetObject *so, SheetControl *sc, cha
/* TODO : This is silly, no need to be similar to XL here. */
state->min = go_gtk_builder_get_widget (gui, "spin_min");
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (state->min), swa->adjustment->lower);
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (state->min),
+ gtk_adjustment_get_lower (swa->adjustment));
state->max = go_gtk_builder_get_widget (gui, "spin_max");
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (state->max), swa->adjustment->upper);
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (state->max),
+ gtk_adjustment_get_upper (swa->adjustment));
state->inc = go_gtk_builder_get_widget (gui, "spin_increment");
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (state->inc), swa->adjustment->step_increment);
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (state->inc),
+ gtk_adjustment_get_step_increment (swa->adjustment));
state->page = go_gtk_builder_get_widget (gui, "spin_page");
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (state->page), swa->adjustment->page_increment);
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (state->page),
+ gtk_adjustment_get_page_increment (swa->adjustment));
gnumeric_editable_enters (GTK_WINDOW (state->dialog),
GTK_WIDGET (state->expression));
@@ -1654,11 +1664,21 @@ sheet_widget_adjustment_write_xml_sax (SheetObject const *so, GsfXMLOut *output,
SheetWidgetAdjustment const *swa = SHEET_WIDGET_ADJUSTMENT (so);
SheetWidgetAdjustmentClass *swa_class = SWA_CLASS (so);
- gsf_xml_out_add_float (output, "Min", swa->adjustment->lower, 2);
- gsf_xml_out_add_float (output, "Max", swa->adjustment->upper, 2); /* allow scrolling to max */
- gsf_xml_out_add_float (output, "Inc", swa->adjustment->step_increment, 2);
- gsf_xml_out_add_float (output, "Page", swa->adjustment->page_increment, 2);
- gsf_xml_out_add_float (output, "Value", swa->adjustment->value, 2);
+ gsf_xml_out_add_float (output, "Min",
+ gtk_adjustment_get_lower (swa->adjustment),
+ 2);
+ gsf_xml_out_add_float (output, "Max",
+ gtk_adjustment_get_upper (swa->adjustment),
+ 2); /* allow scrolling to max */
+ gsf_xml_out_add_float (output, "Inc",
+ gtk_adjustment_get_step_increment (swa->adjustment),
+ 2);
+ gsf_xml_out_add_float (output, "Page",
+ gtk_adjustment_get_page_increment (swa->adjustment),
+ 2);
+ gsf_xml_out_add_float (output, "Value",
+ gtk_adjustment_get_value (swa->adjustment),
+ 2);
if (swa_class->htype != G_TYPE_NONE && swa_class->vtype != G_TYPE_NONE)
gsf_xml_out_add_bool (output, "Horizontal", swa->horizontal);
@@ -1680,15 +1700,15 @@ sheet_widget_adjustment_prep_sax_parser (SheetObject *so, GsfXMLIn *xin,
gboolean b;
if (gnm_xml_attr_double (attrs, "Min", &tmp))
- swa->adjustment->lower = tmp;
+ gtk_adjustment_set_lower (swa->adjustment, tmp);
else if (gnm_xml_attr_double (attrs, "Max", &tmp))
- swa->adjustment->upper = tmp; /* allow scrolling to max */
+ gtk_adjustment_set_upper (swa->adjustment, tmp); /* allow scrolling to max */
else if (gnm_xml_attr_double (attrs, "Inc", &tmp))
- swa->adjustment->step_increment = tmp;
+ gtk_adjustment_set_step_increment (swa->adjustment, tmp);
else if (gnm_xml_attr_double (attrs, "Page", &tmp))
- swa->adjustment->page_increment = tmp;
+ gtk_adjustment_set_step_increment (swa->adjustment, tmp);
else if (gnm_xml_attr_double (attrs, "Value", &tmp))
- swa->adjustment->value = tmp;
+ gtk_adjustment_set_value (swa->adjustment, tmp);
else if (sax_read_dep (attrs, "Input", &swa->dep, xin, convs))
;
else if (swa_class->htype != G_TYPE_NONE &&
@@ -1698,7 +1718,6 @@ sheet_widget_adjustment_prep_sax_parser (SheetObject *so, GsfXMLIn *xin,
}
swa->dep.flags = adjustment_get_dep_type ();
- gtk_adjustment_changed (swa->adjustment);
}
void
@@ -1707,17 +1726,17 @@ sheet_widget_adjustment_set_details (SheetObject *so, GnmExprTop const *tlink,
int inc, int page)
{
SheetWidgetAdjustment *swa = SHEET_WIDGET_ADJUSTMENT (so);
+ double page_size;
+
g_return_if_fail (swa != NULL);
- swa->adjustment->value = value;
- swa->adjustment->lower = min;
- swa->adjustment->upper = max; /* allow scrolling to max */
- swa->adjustment->step_increment = inc;
- swa->adjustment->page_increment = page;
+
dependent_set_expr (&swa->dep, tlink);
if (NULL != tlink)
dependent_link (&swa->dep);
- else
- gtk_adjustment_changed (swa->adjustment);
+
+ page_size = gtk_adjustment_get_page_size (swa->adjustment); /* ??? */
+ gtk_adjustment_configure (swa->adjustment,
+ value, min, max, inc, page, page_size);
}
static GtkWidget *
@@ -1867,8 +1886,10 @@ sheet_widget_spinbutton_create_widget (SheetObjectWidget *sow)
GtkWidget *spinbutton;
swa->being_updated = TRUE;
- spinbutton = gtk_spin_button_new (swa->adjustment,
- swa->adjustment->step_increment, 0);
+ spinbutton = gtk_spin_button_new
+ (swa->adjustment,
+ gtk_adjustment_get_step_increment (swa->adjustment),
+ 0);
gtk_widget_set_can_focus (spinbutton, FALSE);
g_signal_connect (G_OBJECT (spinbutton),
"value_changed",
@@ -2290,16 +2311,21 @@ static void
cb_checkbox_set_focus (GtkWidget *window, GtkWidget *focus_widget,
CheckboxConfigState *state)
{
+ GtkWidget *ofp;
+
/* Note: half of the set-focus action is handle by the default
- * callback installed by wbc_gtk_attach_guru */
+ * callback installed by wbc_gtk_attach_guru. */
+
+ ofp = state->old_focus
+ ? gtk_widget_get_parent (state->old_focus)
+ : NULL;
/* Force an update of the content in case it needs tweaking (eg make it
* absolute) */
- if (state->old_focus != NULL &&
- IS_GNM_EXPR_ENTRY (state->old_focus->parent)) {
+ if (ofp && IS_GNM_EXPR_ENTRY (ofp)) {
GnmParsePos pp;
GnmExprTop const *texpr = gnm_expr_entry_parse (
- GNM_EXPR_ENTRY (state->old_focus->parent),
+ GNM_EXPR_ENTRY (ofp),
parse_pos_init_sheet (&pp, state->sheet),
NULL, FALSE, GNM_EXPR_PARSE_DEFAULT);
if (texpr != NULL)
@@ -2984,16 +3010,21 @@ static void
cb_radio_button_set_focus (GtkWidget *window, GtkWidget *focus_widget,
RadioButtonConfigState *state)
{
+ GtkWidget *ofp;
+
/* Note: half of the set-focus action is handle by the default
* callback installed by wbc_gtk_attach_guru */
+ ofp = state->old_focus
+ ? gtk_widget_get_parent (state->old_focus)
+ : NULL;
+
/* Force an update of the content in case it needs tweaking (eg make it
* absolute) */
- if (state->old_focus != NULL &&
- IS_GNM_EXPR_ENTRY (state->old_focus->parent)) {
+ if (ofp && IS_GNM_EXPR_ENTRY (ofp)) {
GnmParsePos pp;
GnmExprTop const *texpr = gnm_expr_entry_parse (
- GNM_EXPR_ENTRY (state->old_focus->parent),
+ GNM_EXPR_ENTRY (ofp),
parse_pos_init_sheet (&pp, state->sheet),
NULL, FALSE, GNM_EXPR_PARSE_DEFAULT);
if (texpr != NULL)
@@ -3636,6 +3667,7 @@ cb_selection_changed (GtkTreeSelection *selection,
SheetWidgetListBase *swl)
{
GtkWidget *view = (GtkWidget *)gtk_tree_selection_get_tree_view (selection);
+ GnmSimpleCanvas *scanvas = GNM_SIMPLE_CANVAS (gtk_widget_get_parent (gtk_widget_get_parent (gtk_widget_get_parent (view))));
GtkTreeModel *model;
GtkTreeIter iter;
int pos = 0;
@@ -3648,8 +3680,7 @@ cb_selection_changed (GtkTreeSelection *selection,
}
}
sheet_widget_list_base_set_selection
- (swl, pos,
- scg_wbc (GNM_SIMPLE_CANVAS (view->parent->parent->parent)->scg));
+ (swl, pos, scg_wbc (scanvas->scg));
}
}
diff --git a/src/wbc-gtk.c b/src/wbc-gtk.c
index 18e2031..9c16bc8 100644
--- a/src/wbc-gtk.c
+++ b/src/wbc-gtk.c
@@ -949,10 +949,10 @@ cb_paned_size_allocate (GtkHPaned *hpaned,
GtkRequisition child1_requisition;
gint handle_size;
gint p1, p2, h1, h2, w1, w2, w, wp;
- gint border_width = GTK_CONTAINER (paned)->border_width;
+ gint border_width = gtk_container_get_border_width (GTK_CONTAINER (paned));
gboolean position_set;
- GtkWidget *child1 = paned->child1;
- GtkWidget *child2 = paned->child2;
+ GtkWidget *child1 = gtk_paned_get_child1 (paned);
+ GtkWidget *child2 = gtk_paned_get_child2 (paned);
if (child1 == NULL || !gtk_widget_get_visible (child1) ||
child2 == NULL || !gtk_widget_get_visible (child2))
@@ -2393,7 +2393,7 @@ set_visibility (WBCGtk *wbcg,
{
GtkWidget *w = g_hash_table_lookup (wbcg->visibility_widgets, action_name);
if (w)
- (visible ? gtk_widget_show : gtk_widget_hide) (w);
+ gtk_widget_set_visible (w, visible);
wbc_gtk_set_toggle_action_state (wbcg, action_name, visible);
}
@@ -2488,7 +2488,8 @@ show_gui (WBCGtk *wbcg)
/* In a Xinerama setup, we want the geometry of the actual display
* unit, if available. See bug 59902. */
- gdk_screen_get_monitor_geometry (wbcg_toplevel (wbcg)->screen, 0, &rect);
+ gdk_screen_get_monitor_geometry
+ (gtk_window_get_screen (wbcg_toplevel (wbcg)), 0, &rect);
sx = MAX (rect.width, 600);
sy = MAX (rect.height, 200);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]