def zoom(self, zoom=None):
        """Zooms to zoom factor"""

        status = True

        if zoom is None:
            zoom = self.grid.grid_renderer.zoom
            status = False

        # Zoom factor for grid content
        self.grid.grid_renderer.zoom = zoom

        # Zoom grid labels
        self._zoom_labels(zoom)

        # Zoom rows and columns
        self._zoom_rows(zoom)
        self._zoom_cols(zoom)

        if self.main_window.IsFullScreen():
            # Do not display labels in fullscreen mode
            self.main_window.handlers.row_label_size = \
                self.grid.GetRowLabelSize()
            self.main_window.handlers.col_label_size = \
                self.grid.GetColLabelSize()

            self.grid.HideRowLabels()
            self.grid.HideColLabels()

        self.grid.ForceRefresh()

        if status:
            statustext = _(u"Zoomed to {0:.2f}.").format(zoom)

            post_command_event(self.main_window, self.StatusBarMsg,
                               text=statustext)
Zooms to zoom factor