##// END OF EJS Templates
move paging style switching into console_widget
Paul Ivanov -
Show More
@@ -1674,6 +1674,32 b' class ConsoleWidget(LoggingConfigurable, QtGui.QWidget):'
1674 else:
1674 else:
1675 self._append_plain_text(text)
1675 self._append_plain_text(text)
1676
1676
1677 def _set_paging(self, paging):
1678 """
1679 Change the pager to `paging` style.
1680
1681 XXX: currently, this is limited to switching between 'hsplit' and
1682 'vsplit'.
1683
1684 Parameters:
1685 -----------
1686 paging : string
1687 Either "hsplit", "vsplit", or "inside"
1688 """
1689 if self._splitter is None:
1690 raise NotImplementedError("""can only switch if --paging=hsplit or
1691 --paging=vsplit is used.""")
1692 if paging == 'hsplit':
1693 self._splitter.setOrientation(QtCore.Qt.Horizontal)
1694 elif paging == 'vsplit':
1695 self._splitter.setOrientation(QtCore.Qt.Vertical)
1696 elif paging == 'inside':
1697 raise NotImplementedError("""switching to 'inside' paging not
1698 supported yet.""")
1699 else:
1700 raise ValueError("unknown paging method '%s'" % paging)
1701 self.paging = paging
1702
1677 def _prompt_finished(self):
1703 def _prompt_finished(self):
1678 """ Called immediately after a prompt is finished, i.e. when some input
1704 """ Called immediately after a prompt is finished, i.e. when some input
1679 will be processed and a new prompt displayed.
1705 will be processed and a new prompt displayed.
@@ -522,20 +522,25 b' class MainWindow(QtGui.QMainWindow):'
522 statusTip="Clear the console",
522 statusTip="Clear the console",
523 triggered=self.clear_magic_active_frontend)
523 triggered=self.clear_magic_active_frontend)
524 self.add_menu_action(self.view_menu, self.clear_action)
524 self.add_menu_action(self.view_menu, self.clear_action)
525 self.pager_menu = self.view_menu.addMenu("Pager")
526
525
526 self.pager_menu = self.view_menu.addMenu("&Pager")
527
527
528 self.hsplit_action = QtGui.QAction(".. &Horizontal Split",
528 hsplit_action = QtGui.QAction(".. &Horizontal Split",
529 self,
529 self,
530 triggered=self.pager_hsplit)
530 triggered=lambda: self.set_paging_active_frontend('hsplit'))
531
531
532 self.vsplit_action = QtGui.QAction(" : &Vertical Split",
532 vsplit_action = QtGui.QAction(" : &Vertical Split",
533 self,
533 self,
534 triggered=self.pager_vsplit)
534 triggered=lambda: self.set_paging_active_frontend('vsplit'))
535
536 inside_action = QtGui.QAction(" &Inside Pager",
537 self,
538 triggered=lambda: self.set_paging_active_frontend('inside'))
539
540 self.pager_menu.addAction(hsplit_action)
541 self.pager_menu.addAction(vsplit_action)
542 self.pager_menu.addAction(inside_action)
535
543
536 self.pager_menu.addAction(self.hsplit_action)
537 self.pager_menu.addAction(self.vsplit_action)
538
539 def init_kernel_menu(self):
544 def init_kernel_menu(self):
540 self.kernel_menu = self.menuBar().addMenu("&Kernel")
545 self.kernel_menu = self.menuBar().addMenu("&Kernel")
541 # Qt on OSX maps Ctrl to Cmd, and Meta to Ctrl
546 # Qt on OSX maps Ctrl to Cmd, and Meta to Ctrl
@@ -794,13 +799,8 b' class MainWindow(QtGui.QMainWindow):'
794 self.maximizeAct.setEnabled(True)
799 self.maximizeAct.setEnabled(True)
795 self.minimizeAct.setEnabled(True)
800 self.minimizeAct.setEnabled(True)
796
801
797 def pager_vsplit(self):
802 def set_paging_active_frontend(self, paging):
798 self.active_frontend.paging = "vsplit"
803 self.active_frontend._set_paging(paging)
799 self.active_frontend._splitter.setOrientation(QtCore.Qt.Vertical)
800
801 def pager_hsplit(self):
802 self.active_frontend.paging = "hsplit"
803 self.active_frontend._splitter.setOrientation(QtCore.Qt.Horizontal)
804
804
805 def close_active_frontend(self):
805 def close_active_frontend(self):
806 self.close_tab(self.active_frontend)
806 self.close_tab(self.active_frontend)
General Comments 0
You need to be logged in to leave comments. Login now