'Set data that is displayed in each step of the tour.'

def _set_data(self):

    self.setting_data = True
    (step, steps, frames) = (self.step_current, self.steps, self.frames)
    current = '{0}/{1}'.format((step + 1), steps)
    frame = frames[step]
    combobox_frames = [u'{0}.    {1}'.format((i + 1), f['title']) for (i, f) in enumerate(frames)]
    (title, content, image) = ('', '', None)
    (widgets, dockwidgets, decoration) = (None, None, None)
    run = None
    if ('title' in frame):
        title = frame['title']
    if ('content' in frame):
        content = frame['content']
    if ('widgets' in frame):
        widget_names = frames[step]['widgets']
        (widgets, dockwidgets) = self._process_widgets(widget_names, self.spy_window)
    self.widgets = widgets
    self.dockwidgets = dockwidgets
    if ('decoration' in frame):
        widget_names = frames[step]['decoration']
        (deco, decoration) = self._process_widgets(widget_names, self.spy_window)
        self.decoration = decoration
    if ('image' in frame):
        image = frames[step]['image']
    if ('interact' in frame):
        self.canvas.set_interaction(frame['interact'])
        if frame['interact']:
            self._set_modal(False, [self.tips])
        else:
            self._set_modal(True, [self.tips])
    else:
        self.canvas.set_interaction(False)
        self._set_modal(True, [self.tips])
    if ('run' in frame):
        run = frame['run']
        self.run = run
    self.tips.set_data(title, content, current, image, run, frames=combobox_frames, step=step)
    self._check_buttons()
    self.canvas.update_widgets(dockwidgets)
    self.canvas.update_decoration(decoration)
    self.setting_data = False
