/** * cmd_slicer_refresh: * @wbc: the workbook control. **/ gboolean cmd_slicer_refresh (WorkbookControl *wbc) { CmdSlicerRefresh *me; char *r_name; SheetView *sv = wb_control_cur_sheet_view (wbc); GnmSheetSlicer *slicer; slicer = gnm_sheet_slicers_at_pos (sv->sheet, &sv->edit_pos); if (NULL == slicer) return FALSE; me = g_object_new (CMD_SLICER_REFRESH_TYPE, NULL); me->cmd.sheet = sv_sheet (sv); me->cmd.size = 1; /* Updated below. */ me->orig_content = NULL; me->slicer = slicer; r_name = undo_range_name (me->cmd.sheet, gnm_sheet_slicer_get_range (slicer)); me->cmd.cmd_descriptor = g_strdup_printf (_("Refreshing DataSlicer in %s"), r_name); g_free (r_name); return gnm_command_push_undo (wbc, G_OBJECT (me)); }
/** * undo_cell_pos_name: * @sheet: * @pos: * * Returns the range name depending on the preference setting. **/ char * undo_cell_pos_name (Sheet const *sheet, GnmCellPos const *pos) { GnmRange r; r.end = r.start = *pos; return undo_range_name (sheet, &r); }