- gtk_container_remove (GTK_CONTAINER (sheet->button), old_widget);
- }
-
- label = gtk_label_new (title);
- gtk_misc_set_alignment(GTK_MISC(label), 0.5 , 0.5 );
-
- gtk_container_add (GTK_CONTAINER (sheet->button), label);
- gtk_widget_show (label);
-
- size_allocate_global_button(sheet);
-
- gtk_signal_emit(GTK_OBJECT(sheet),sheet_signals[CHANGED], -1, -1);
-
- if(old_widget)
- gtk_widget_destroy (old_widget);
-*/
-}
-
-void
-gtk_sheet_freeze (GtkSheet *sheet)
-{
- g_return_if_fail (sheet != NULL);
- g_return_if_fail (GTK_IS_SHEET (sheet));
-
- sheet->freeze_count++;
- GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IS_FROZEN);
-}
-
-void
-gtk_sheet_thaw(GtkSheet *sheet)
-{
- g_return_if_fail (sheet != NULL);
- g_return_if_fail (GTK_IS_SHEET (sheet));
-
- if(sheet->freeze_count == 0) return;
-
- sheet->freeze_count--;
- if(sheet->freeze_count > 0) return;
-
- adjust_scrollbars(sheet);
-
- GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IS_FROZEN);
-
- sheet->old_vadjustment = -1.;
- sheet->old_hadjustment = -1.;
-
- if(sheet->hadjustment)
- gtk_signal_emit_by_name (GTK_OBJECT (sheet->hadjustment),
- "value_changed");
- if(sheet->vadjustment)
- gtk_signal_emit_by_name (GTK_OBJECT (sheet->vadjustment),
- "value_changed");
-
- if(sheet->state == GTK_STATE_NORMAL)
- if(sheet->sheet_entry && GTK_WIDGET_MAPPED(sheet->sheet_entry)){
- gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col);
-/*
- gtk_signal_connect(GTK_OBJECT(gtk_sheet_get_entry(sheet)),
- "changed",
- (GtkSignalFunc)gtk_sheet_entry_changed,
- GTK_OBJECT(GTK_WIDGET(sheet)));
- gtk_sheet_show_active_cell(sheet);
-*/
- }
-
-}
-
-void
-gtk_sheet_set_row_titles_width(GtkSheet *sheet, guint width)
-{
- if(width < COLUMN_MIN_WIDTH) return;
-
- sheet->row_title_area.width = width;
- sheet->view.col0 = COLUMN_FROM_XPIXEL(sheet, sheet->row_title_area.width+1);
- sheet->view.coli = COLUMN_FROM_XPIXEL(sheet, sheet->sheet_window_width);
-
-
- adjust_scrollbars(sheet);
-
- sheet->old_hadjustment = -1.;
- if(sheet->hadjustment)
- gtk_signal_emit_by_name (GTK_OBJECT (sheet->hadjustment),
- "value_changed");
- size_allocate_global_button(sheet);
-}
-
-void
-gtk_sheet_set_column_titles_height(GtkSheet *sheet, guint height)
-{
- if(height < DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet))) return;
-
- sheet->column_title_area.height = height;
- sheet->view.row0=ROW_FROM_YPIXEL(sheet, sheet->column_title_area.height+1);
- sheet->view.rowi=ROW_FROM_YPIXEL(sheet, sheet->sheet_window_height-1);
-
- adjust_scrollbars(sheet);
-
- sheet->old_vadjustment = -1.;
- if(sheet->vadjustment)
- gtk_signal_emit_by_name (GTK_OBJECT (sheet->vadjustment),
- "value_changed");
- size_allocate_global_button(sheet);
-}
-
-void
-gtk_sheet_show_column_titles(GtkSheet *sheet)
-{
- gint col;
-
- if(sheet->column_titles_visible) return;
-
- sheet->column_titles_visible = TRUE;
-
-
- if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))){
- gdk_window_show(sheet->column_title_window);
- gdk_window_move_resize (sheet->column_title_window,
- sheet->column_title_area.x,
- sheet->column_title_area.y,
- sheet->column_title_area.width,
- sheet->column_title_area.height);
-
- for(col = MIN_VISIBLE_COLUMN(sheet);
- col <= MAX_VISIBLE_COLUMN(sheet);
- col++)
- {
- const GtkSheetButton *button = xxx_column_button(sheet, col);
- GtkSheetChild *child = button->child;
- if(child)
- gtk_sheet_child_show(child);
- }
- adjust_scrollbars(sheet);
- }
-
- sheet->old_vadjustment = -1.;
- if(sheet->vadjustment)
- gtk_signal_emit_by_name (GTK_OBJECT (sheet->vadjustment),
- "value_changed");
- size_allocate_global_button(sheet);
-}
-
-
-void
-gtk_sheet_show_row_titles(GtkSheet *sheet)
-{
- gint row;
-
- if(sheet->row_titles_visible) return;
-
- sheet->row_titles_visible = TRUE;
-
-
- if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))){
- gdk_window_show(sheet->row_title_window);
- gdk_window_move_resize (sheet->row_title_window,
- sheet->row_title_area.x,
- sheet->row_title_area.y,
- sheet->row_title_area.width,
- sheet->row_title_area.height);
-
- for(row = MIN_VISIBLE_ROW(sheet);
- row <= MAX_VISIBLE_ROW(sheet);
- row++)
- {
- const GtkSheetButton *button = yyy_row_button(sheet, row);
- GtkSheetChild *child = button->child;
-
- if(child){
- gtk_sheet_child_show(child);
- }
- }
- adjust_scrollbars(sheet);
- }
-
- sheet->old_hadjustment = -1.;
- if(sheet->hadjustment)
- gtk_signal_emit_by_name (GTK_OBJECT (sheet->hadjustment),
- "value_changed");
- size_allocate_global_button(sheet);
-}
-
-void
-gtk_sheet_hide_column_titles(GtkSheet *sheet)
-{
- gint col;
-
- if(!sheet->column_titles_visible) return;
-
- sheet->column_titles_visible = FALSE;
-
- if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))){
- if(sheet->column_title_window)
- gdk_window_hide(sheet->column_title_window);
- if(GTK_WIDGET_VISIBLE(sheet->button))
- gtk_widget_hide(sheet->button);
-
- for(col = MIN_VISIBLE_COLUMN(sheet);
- col <= MAX_VISIBLE_COLUMN(sheet);
- col++)
- {
- const GtkSheetButton *button = xxx_column_button(sheet, col);
- GtkSheetChild *child = button->child;
- if(child)
- gtk_sheet_child_hide(child);
- }
- adjust_scrollbars(sheet);
- }
-
- sheet->old_vadjustment = -1.;
- if(sheet->vadjustment)
- gtk_signal_emit_by_name (GTK_OBJECT (sheet->vadjustment),
- "value_changed");
-}
-
-void
-gtk_sheet_hide_row_titles(GtkSheet *sheet)
-{
- gint row;
-
- if(!sheet->row_titles_visible) return;
-
- sheet->row_titles_visible = FALSE;
-
-
- if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))){
- if(sheet->row_title_window)
- gdk_window_hide(sheet->row_title_window);
- if(GTK_WIDGET_VISIBLE(sheet->button))
- gtk_widget_hide(sheet->button);
- for(row = MIN_VISIBLE_ROW(sheet);
- row <= MAX_VISIBLE_ROW(sheet);
- row++)
- {
- const GtkSheetButton *button = yyy_row_button(sheet, row);
- GtkSheetChild *child = button->child;
-
- if(child)
- gtk_sheet_child_hide(child);
- }
- adjust_scrollbars(sheet);
- }
-
- sheet->old_hadjustment = -1.;
- if(sheet->hadjustment)
- gtk_signal_emit_by_name (GTK_OBJECT (sheet->hadjustment),
- "value_changed");
-}
-
-gboolean
-gtk_sheet_column_titles_visible(GtkSheet *sheet)
-{
- g_return_val_if_fail (sheet != NULL, FALSE);
- g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE);
- return sheet->column_titles_visible;
-}
-
-gboolean
-gtk_sheet_row_titles_visible(GtkSheet *sheet)
-{
- g_return_val_if_fail (sheet != NULL, FALSE);
- g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE);
- return sheet->row_titles_visible;
-}
-
-
-
-void
-gtk_sheet_moveto (GtkSheet * sheet,
- gint row,
- gint column,
- gfloat row_align,
- gfloat col_align)
-{
- gint x, y;
- guint width, height;
- gint adjust;
- gint min_row, min_col;
-
- g_return_if_fail (sheet != NULL);
- g_return_if_fail (GTK_IS_SHEET (sheet));
- g_return_if_fail (sheet->hadjustment != NULL);
- g_return_if_fail (sheet->vadjustment != NULL);
-
- if (row < 0 || row >= yyy_row_count(sheet))
- return;
- if (column < 0 || column >= xxx_column_count(sheet))
- return;
-
- height = sheet->sheet_window_height;
- width = sheet->sheet_window_width;
-
- /* adjust vertical scrollbar */
-
- if (row >= 0 && row_align >=0.)
- {
-/*
- y = ROW_TOP_YPIXEL(sheet, row) - sheet->voffset -
- row_align*height-
- (1.-row_align)*yyy_row_height(sheet, row);
-*/
- y = ROW_TOP_YPIXEL (sheet, row) - sheet->voffset
- - (gint) ( row_align*height + (1. - row_align) * yyy_row_height(sheet, row));