##// END OF EJS Templates
Added require.js shims for underscore and backbone...
Added require.js shims for underscore and backbone This is necessary since underscore and backbone are no longer AMD modules.

File last commit:

r14308:a4c13a95
r14483:6e353ea6
Show More
widget_multicontainer.py
56 lines | 1.7 KiB | text/x-python | PythonLexer
/ IPython / html / widgets / widget_multicontainer.py
"""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 Widget
from IPython.utils.traitlets import Unicode, Dict, Int
#-----------------------------------------------------------------------------
# Classes
#-----------------------------------------------------------------------------
class MulticontainerWidget(Widget):
target_name = Unicode('MulticontainerWidgetModel')
default_view_name = Unicode('TabView')
# Keys
_keys = ['_titles', 'selected_index']
_titles = Dict(help="Titles of the pages")
selected_index = Int(0)
# Public methods
def set_title(self, index, title):
"""Sets the title of a container pages
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