##// END OF EJS Templates
Properly dispose of widget model. Delete comm's ref to...
Properly dispose of widget model. Delete comm's ref to the widget model so the GC will collect it when it is no longer reference elsewhere.

File last commit:

r14308:a4c13a95
r14386:463ad221
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