Single-page wordpress theme navigation

I’ve done a few templates that essentially are on one page. I used this code as the starting block for all of them:

<?php
    $my_wp_query = new WP_Query();
    $all_wp_pages = $my_wp_query->query(array('post_type' => 'page','posts_per_page' => -1));
    foreach ($all_wp_pages as $value){
        $post = get_page($value);
        $slug = $post->post_name;
        $title = $post->post_title;
        $content = apply_filters('the_content', $post->post_content);
   };
?>

It basically gets every page, you can then use the variables to build the rendered markup.

Then a small change to meet you’re depth requirement I would use:

$all_wp_pages = $my_wp_query->query(array('post_type' => 'page','depth' => 1, 'posts_per_page' => -1));

And finally 'posts_per_page' => -1 gets everypage, not limited to the number set in ‘Admin > Settings > Reading’

Hope this helps.