Beispiel #1
0
    def getPageComponents(self):
        navigation = getTabs(self.store.powerupsFor(INavigableElement))

        staticShellContent = IStaticShellContent(self.store, None)

        return _PageComponents(navigation, self.searchAggregator,
                               staticShellContent,
                               self.store.findFirst(PreferenceAggregator),
                               getInstalledThemes(self.store.parent))
Beispiel #2
0
    def getPageComponents(self):
        navigation = getTabs(self.store.powerupsFor(INavigableElement))

        staticShellContent = IStaticShellContent(self.store, None)

        return _PageComponents(navigation,
                               self.searchAggregator,
                               staticShellContent,
                               self.store.findFirst(PreferenceAggregator),
                               getInstalledThemes(self.store.parent))
Beispiel #3
0
    def test_tabMerge(self):
        """
        L{webnav.getTabs} should combine tabs from the L{INavigableElement}
        providers passed to it into a single structure.  It should preserve the
        attributes of all of the tabs and order them and their children by
        priority.
        """
        nav = webnav.getTabs([
                FakeNavigator([webnav.Tab('Hello', 1, 0.5,
                                          [webnav.Tab('Super', 2, 1.0, (), False, '/Super/2'),
                                           webnav.Tab('Mega', 3, 0.5, (), False, '/Mega/3')],
                                          False, '/Hello/1')]),
                FakeNavigator([webnav.Tab('Hello', 4, 1.,
                                          [webnav.Tab('Ultra', 5, 0.75, (), False, '/Ultra/5'),
                                           webnav.Tab('Hyper', 6, 0.25, (), False, '/Hyper/6')],
                                          True, '/Hello/4'),
                               webnav.Tab('Goodbye', 7, 0.9, (), True, '/Goodbye/7')])])

        hello, goodbye = nav
        self.assertEqual(hello.name, 'Hello')
        self.assertEqual(hello.storeID, 4)
        self.assertEqual(hello.priority, 1.0)
        self.assertEqual(hello.authoritative,True)
        self.assertEqual(hello.linkURL, '/Hello/4')

        super, ultra, mega, hyper = hello.children
        self.assertEqual(super.name, 'Super')
        self.assertEqual(super.storeID, 2)
        self.assertEqual(super.priority, 1.0)
        self.assertEqual(super.authoritative, False)
        self.assertEqual(super.linkURL, '/Super/2')

        self.assertEqual(ultra.name, 'Ultra')
        self.assertEqual(ultra.storeID, 5)
        self.assertEqual(ultra.priority, 0.75)
        self.assertEqual(ultra.authoritative, False)
        self.assertEqual(ultra.linkURL, '/Ultra/5')

        self.assertEqual(mega.name, 'Mega')
        self.assertEqual(mega.storeID, 3)
        self.assertEqual(mega.priority, 0.5)
        self.assertEqual(mega.authoritative, False)
        self.assertEqual(mega.linkURL, '/Mega/3')

        self.assertEqual(hyper.name, 'Hyper')
        self.assertEqual(hyper.storeID, 6)
        self.assertEqual(hyper.priority, 0.25)
        self.assertEqual(hyper.authoritative, False)
        self.assertEqual(hyper.linkURL, '/Hyper/6')

        self.assertEqual(goodbye.name, 'Goodbye')
        self.assertEqual(goodbye.storeID, 7)
        self.assertEqual(goodbye.priority, 0.9)
        self.assertEqual(goodbye.authoritative, True)
        self.assertEqual(goodbye.linkURL, '/Goodbye/7')
Beispiel #4
0
    def tabbedPane(self, req, tag):
        """
        Render a tabbed pane tab for each top-level
        L{xmantissa.ixmantissa.IPreferenceCollection} tab
        """
        navigation = webnav.getTabs(self.aggregator.getPreferenceCollections())
        pages = list()
        for tab in navigation:
            f = inevow.IRenderer(
                    self.aggregator.store.getItemByID(tab.storeID))
            f.tab = tab
            if hasattr(f, 'setFragmentParent'):
                f.setFragmentParent(self)
            pages.append((tab.name, f))

        f = tabbedPane.TabbedPaneFragment(pages, name='preference-editor')
        f.setFragmentParent(self)
        return f
Beispiel #5
0
    def tabbedPane(self, req, tag):
        """
        Render a tabbed pane tab for each top-level
        L{xmantissa.ixmantissa.IPreferenceCollection} tab
        """
        navigation = webnav.getTabs(self.aggregator.getPreferenceCollections())
        pages = list()
        for tab in navigation:
            f = inevow.IRenderer(self.aggregator.store.getItemByID(
                tab.storeID))
            f.tab = tab
            if hasattr(f, 'setFragmentParent'):
                f.setFragmentParent(self)
            pages.append((tab.name, f))

        f = tabbedPane.TabbedPaneFragment(pages, name='preference-editor')
        f.setFragmentParent(self)
        return f
Beispiel #6
0
    def test_tabMerge(self):
        """
        L{webnav.getTabs} should combine tabs from the L{INavigableElement}
        providers passed to it into a single structure.  It should preserve the
        attributes of all of the tabs and order them and their children by
        priority.
        """
        nav = webnav.getTabs(
            [
                FakeNavigator(
                    [
                        webnav.Tab(
                            "Hello",
                            1,
                            0.5,
                            [
                                webnav.Tab("Super", 2, 1.0, (), False, "/Super/2"),
                                webnav.Tab("Mega", 3, 0.5, (), False, "/Mega/3"),
                            ],
                            False,
                            "/Hello/1",
                        )
                    ]
                ),
                FakeNavigator(
                    [
                        webnav.Tab(
                            "Hello",
                            4,
                            1.0,
                            [
                                webnav.Tab("Ultra", 5, 0.75, (), False, "/Ultra/5"),
                                webnav.Tab("Hyper", 6, 0.25, (), False, "/Hyper/6"),
                            ],
                            True,
                            "/Hello/4",
                        ),
                        webnav.Tab("Goodbye", 7, 0.9, (), True, "/Goodbye/7"),
                    ]
                ),
            ]
        )

        hello, goodbye = nav
        self.assertEqual(hello.name, "Hello")
        self.assertEqual(hello.storeID, 4)
        self.assertEqual(hello.priority, 1.0)
        self.assertEqual(hello.authoritative, True)
        self.assertEqual(hello.linkURL, "/Hello/4")

        super, ultra, mega, hyper = hello.children
        self.assertEqual(super.name, "Super")
        self.assertEqual(super.storeID, 2)
        self.assertEqual(super.priority, 1.0)
        self.assertEqual(super.authoritative, False)
        self.assertEqual(super.linkURL, "/Super/2")

        self.assertEqual(ultra.name, "Ultra")
        self.assertEqual(ultra.storeID, 5)
        self.assertEqual(ultra.priority, 0.75)
        self.assertEqual(ultra.authoritative, False)
        self.assertEqual(ultra.linkURL, "/Ultra/5")

        self.assertEqual(mega.name, "Mega")
        self.assertEqual(mega.storeID, 3)
        self.assertEqual(mega.priority, 0.5)
        self.assertEqual(mega.authoritative, False)
        self.assertEqual(mega.linkURL, "/Mega/3")

        self.assertEqual(hyper.name, "Hyper")
        self.assertEqual(hyper.storeID, 6)
        self.assertEqual(hyper.priority, 0.25)
        self.assertEqual(hyper.authoritative, False)
        self.assertEqual(hyper.linkURL, "/Hyper/6")

        self.assertEqual(goodbye.name, "Goodbye")
        self.assertEqual(goodbye.storeID, 7)
        self.assertEqual(goodbye.priority, 0.9)
        self.assertEqual(goodbye.authoritative, True)
        self.assertEqual(goodbye.linkURL, "/Goodbye/7")