def testAcceptCurrentPanel(self): """ test accepting current panel """ s = QgsPanelWidgetStack() # call on empty stack s.acceptCurrentPanel() mp = QgsPanelWidget() s.setMainPanel(mp) # call on main panel - should be no effect s.acceptCurrentPanel() self.assertEqual(s.mainPanel(), mp) self.assertEqual(s.currentPanel(), mp) # add panels p1 = QgsPanelWidget() s.showPanel(p1) p2 = QgsPanelWidget() s.showPanel(p2) # accept them self.assertEqual(s.currentPanel(), p2) p2_accept_spy = QSignalSpy(p2.panelAccepted) s.acceptCurrentPanel() self.assertEqual(s.currentPanel(), p1) self.assertEqual(len(p2_accept_spy), 1) p1_accept_spy = QSignalSpy(p1.panelAccepted) s.acceptCurrentPanel() self.assertEqual(s.currentPanel(), mp) self.assertEqual(len(p1_accept_spy), 1)
def testAddingPanels(self): """ test adding panels to stack """ s = QgsPanelWidgetStack() mp = QgsPanelWidget() s.setMainPanel(mp) p1 = QgsPanelWidget() s.showPanel(p1) self.assertEqual(s.currentPanel(), p1) p2 = QgsPanelWidget() s.showPanel(p2) self.assertEqual(s.currentPanel(), p2)
def testTakeMainAcceptsAll(self): """ test that taking the main panel accepts all open child panels""" s = QgsPanelWidgetStack() mp = QgsPanelWidget() s.setMainPanel(mp) p1 = QgsPanelWidget() s.showPanel(p1) p1_accept_spy = QSignalSpy(p1.panelAccepted) p2 = QgsPanelWidget() s.showPanel(p2) p2_accept_spy = QSignalSpy(p2.panelAccepted) p3 = QgsPanelWidget() s.showPanel(p3) p3_accept_spy = QSignalSpy(p3.panelAccepted) # take main s.takeMainPanel() self.assertEqual(len(p1_accept_spy), 1) self.assertEqual(len(p2_accept_spy), 1) self.assertEqual(len(p3_accept_spy), 1)
def testClear(self): """ test clearing stack """ s = QgsPanelWidgetStack() # call on empty stack s.clear() # add panels mp = QgsPanelWidget() s.setMainPanel(mp) p1 = QgsPanelWidget() s.showPanel(p1) p2 = QgsPanelWidget() s.showPanel(p2) p3 = QgsPanelWidget() s.showPanel(p3) # clear s.clear() self.assertFalse(s.currentPanel()) self.assertFalse(s.mainPanel())