'Creates two views for the model corresponding to the conflict number
n. If first conflict, self.view will be none. If user is past the first
conflict, self.view will not be none'

def set_conflict_view(self, conflict_n):

    @scrollable()
    def make_scrollable(view):
        'Just    a    function    to    wrap    around    a    target    _view_    so    as    to    use\n                                                the    scrollable    decorator.\n                                                '
        return view
    def on_selection(selection, target):
        "Connected    to    the    view    of    both    the    view    and    the    secon    view.\n                                                Target    should    be    either    'first'    or    'second'    for    clarity.\n                                                Whenever    a    view    selection    changes,    change    the    selection\n                                                of    target    accordingly.\n                                                "
        target = (self.view if (target == 'first') else self.second_view)
        original_selection = selection.get_selected()[1]
        target_selection = target.get_selection()
        if (original_selection is not None):
            target_selection.select_iter(original_selection)
    if (self.view is None):
        renderer = Gtk.CellRendererText()
        original_renderer = Gtk.CellRendererText()
        original_renderer.set_property('editable', True)
        original_renderer.connect('edited', self.value_changed, 'original')
        conflict_renderer = Gtk.CellRendererText()
        conflict_renderer.set_property('editable', True)
        conflict_renderer.connect('edited', self.value_changed, 'conflict')
        prop_column = Gtk.TreeViewColumn('', renderer, text=0, background=3)
        obj_column = Gtk.TreeViewColumn('ORIGINAL', original_renderer, text=1, background=3)
        prop2_column = Gtk.TreeViewColumn('', renderer, text=0, background=3)
        obj2_column = Gtk.TreeViewColumn('CONFLICTING', conflict_renderer, text=2, background=3)
        self.view = Gtk.TreeView(self.models[conflict_n])
        self.view.append_column(prop_column)
        self.view.append_column(obj_column)
        self.second_view = Gtk.TreeView(self.models[conflict_n])
        self.second_view.append_column(prop2_column)
        self.second_view.append_column(obj2_column)
        view_selection = self.view.get_selection()
        second_view_selection = self.second_view.get_selection()
        view_selection.connect('changed', on_selection, 'second')
        second_view_selection.connect('changed', on_selection, 'first')
        scrolled_view = make_scrollable(self.view)
        second_scrolled_view = make_scrollable(self.second_view)
        self.views_box.pack_start(scrolled_view, True, True, 5)
        self.views_box.pack_start(second_scrolled_view, True, True, 5)
    else:
        self.view.set_model(self.models[conflict_n])
        self.second_view.set_model(self.models[conflict_n])
