##// END OF EJS Templates
Change custom serialization to use custom models, rather than transmitting the serializer name across the wire...
Change custom serialization to use custom models, rather than transmitting the serializer name across the wire This separates the kernel and the js much more cleanly, and doesn't use as much space on the wire as well!

File last commit:

r18533:b46a0ee8
r20935:a1dba7fe
Show More
widget_selectioncontainer.py
68 lines | 2.2 KiB | text/x-python | PythonLexer
/ IPython / html / widgets / widget_selectioncontainer.py
Jonathan Frederic
Renamed *Widget to *,...
r17598 """SelectionContainer class.
Jonathan Frederic
Added multicontainer widget
r14284
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
#-----------------------------------------------------------------------------
Sylvain Corlay
registering core widgets
r18531 from .widget_box import Box, register
Jonathan Frederic
Changed children list to CTuple....
r15465 from IPython.utils.traitlets import Unicode, Dict, CInt
Jonathan Frederic
Renamed *Widget to *,...
r17598 from IPython.utils.warn import DeprecatedClass
Jonathan Frederic
Added multicontainer widget
r14284
#-----------------------------------------------------------------------------
# Classes
#-----------------------------------------------------------------------------
Jonathan Frederic
s/Container/Box
r17637 class _SelectionContainer(Box):
Jonathan Frederic
Added some doc strings on the widgets....
r17602 """Base class used to display multiple child widgets."""
Jonathan Frederic
sync=True isntead of a keys list
r14588 _titles = Dict(help="Titles of the pages", sync=True)
Jonathan Frederic
s/Int/CInt s/Float/CFloat
r14603 selected_index = CInt(0, sync=True)
Jonathan Frederic
Added ability to set container page titles for widget multicontainer
r14288
# Public methods
def set_title(self, index, title):
Jonathan Frederic
More PEP8 changes
r14607 """Sets the title of a container page.
Jonathan Frederic
Added ability to set container page titles for widget multicontainer
r14288
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):
Jonathan Frederic
More PEP8 changes
r14607 """Gets the title of a container pages.
Jonathan Frederic
Added ability to set container page titles for widget multicontainer
r14288
Parameters
----------
index : int
Index of the container page"""
if index in self._titles:
return self._titles[index]
else:
return None
Jonathan Frederic
1-to-1 widget / view mapping
r14592
Sylvain Corlay
jupyter -> IPython
r18533 @register('IPython.Accordion')
Jonathan Frederic
Renamed *Widget to *,...
r17598 class Accordion(_SelectionContainer):
Jonathan Frederic
Added some doc strings on the widgets....
r17602 """Displays children each on a separate accordion page."""
Jonathan Frederic
s/view_name/_view_name
r14701 _view_name = Unicode('AccordionView', sync=True)
Jonathan Frederic
Create base widget classes
r14670
Sylvain Corlay
jupyter -> IPython
r18533 @register('IPython.Tab')
Jonathan Frederic
Renamed *Widget to *,...
r17598 class Tab(_SelectionContainer):
Jonathan Frederic
Added some doc strings on the widgets....
r17602 """Displays children each on a separate accordion tab."""
Jonathan Frederic
s/view_name/_view_name
r14701 _view_name = Unicode('TabView', sync=True)
Jonathan Frederic
Renamed *Widget to *,...
r17598
Jonathan Frederic
Added some doc strings on the widgets....
r17602
# Remove in IPython 4.0
Jonathan Frederic
Renamed *Widget to *,...
r17598 AccordionWidget = DeprecatedClass(Accordion, 'AccordionWidget')
TabWidget = DeprecatedClass(Tab, 'TabWidget')