lib/menu.py
author Tero Marttila <terom@fixme.fi>
Sat, 07 Feb 2009 02:12:32 +0200
changeset 12 2abc5ace0b15
parent 11 fa216534ae45
child 13 178ea40bbc44
permissions -rw-r--r--
basic multi-level menu
9
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
"""
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
    Handling the list of available pages
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
"""
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     5
# for page_list
11
fa216534ae45 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 9
diff changeset
     6
from page import page_tree as _page_tree
9
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
class Menu (object) :
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
    """
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    10
        Contains info needed to render the menu
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
    """
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
    def __init__ (self, page) :
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    14
        """
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
            Gather the menu information for the given page
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
        """
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
        # the selected page
11
fa216534ae45 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 9
diff changeset
    19
        self.page = _page_tree.get_page(page.url)
12
2abc5ace0b15 basic multi-level menu
Tero Marttila <terom@fixme.fi>
parents: 11
diff changeset
    20
2abc5ace0b15 basic multi-level menu
Tero Marttila <terom@fixme.fi>
parents: 11
diff changeset
    21
        # the selected pagen's inheritance
2abc5ace0b15 basic multi-level menu
Tero Marttila <terom@fixme.fi>
parents: 11
diff changeset
    22
        self.ancestry = self.page.get_ancestry()
9
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
        
11
fa216534ae45 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 9
diff changeset
    24
        # list of menu items == page siblings
12
2abc5ace0b15 basic multi-level menu
Tero Marttila <terom@fixme.fi>
parents: 11
diff changeset
    25
        self.items = _page_tree.root.children
9
2a47b00f60b0 page list + menu
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    26