"""MulticontainerWidget class. Represents a multipage container that can be used to group other widgets into pages. """ #----------------------------------------------------------------------------- # Copyright (c) 2013, the IPython Development Team. # # Distributed under the terms of the Modified BSD License. # # The full license is in the file COPYING.txt, distributed with this software. #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- # Imports #----------------------------------------------------------------------------- from .widget import DOMWidget from IPython.utils.traitlets import Unicode, Dict, Int, List, Instance #----------------------------------------------------------------------------- # Classes #----------------------------------------------------------------------------- class MulticontainerWidget(DOMWidget): target_name = Unicode('MulticontainerWidgetModel') view_name = Unicode('TabView') # Keys keys = ['_titles', 'selected_index', 'children'] + DOMWidget.keys _titles = Dict(help="Titles of the pages") selected_index = Int(0) children = List(Instance(DOMWidget)) # Public methods def set_title(self, index, title): """Sets the title of a container page Parameters ---------- index : int Index of the container page title : unicode New title""" self._titles[index] = title self.send_state('_titles') def get_title(self, index): """Gets the title of a container pages Parameters ---------- index : int Index of the container page""" if index in self._titles: return self._titles[index] else: return None