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))
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')
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
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
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")