Example #1
0
void
Dock_History::set_selected_instance_(etl::handle<studio::Instance> instance)
{
    if(studio::App::shutdown_in_progress)
        return;

    if (on_undo_tree_changed_connection)
        on_undo_tree_changed_connection.disconnect();

    selected_instance=instance;
    if(instance)
    {
        on_undo_tree_changed_connection = selected_instance->history_tree_store()->signal_undo_tree_changed().connect(
                                              sigc::mem_fun(*this,&Dock_History::on_undo_tree_changed));

        action_tree->set_model(instance->history_tree_store());
        action_tree->show();
        update_undo_redo();
        action_group->set_sensitive(true);
    }
    else
    {
        action_tree->set_model(Glib::RefPtr< Gtk::TreeModel >());
        action_tree->hide();
        action_group->set_sensitive(false);
    }
}