$(document).ready(function () { var height = $(document).height(); $('#content').css('min-height', function(){ return height; }); var bodyshortcut = false; function ensure_bodyshortcut() { if ( bodyshortcut == true ) return; var bsc = $('
 
'); bsc.insertAfter($('div.body h1:first')); bodyshortcut = true; }; // if it's an API page, show the module name. var pagename = location.pathname.split('/'); var is_api = false; pagename = pagename[pagename.length - 1]; if (pagename.search('api-') == 0) { pagename = pagename.substr(4, pagename.length - 9); ensure_bodyshortcut(); var modulename = $('
Module: ' + pagename + '
') modulename.appendTo($('div.bodyshortcut')); is_api = true; } // insert breaker only for the first data/class/function found. var apibreaker = false; $('div.body dl[class]').each(function (i1, elem) { // theses are first level class: attribute and method are inside class. if (!$(elem).hasClass('data') && !$(elem).hasClass('class') && !$(elem).hasClass('exception') && !$(elem).hasClass('function')) return; // dont accept dl inside dl if ($(elem).parents().filter('dl').length > 0) return; $(elem).addClass('api-level'); if ( apibreaker == true ) return; $('
') .attr('id', 'api') .html( $('

API ' + 'Hide Description ⇑' + '

') ) .insertBefore(elem); apibreaker = true; }); $('div.body dl[class] dt').hover( function() { $(this).addClass('hover'); }, function() { $(this).removeClass('hover'); } ); if ( apibreaker == true ) { ensure_bodyshortcut(); var apilink = $(''); apilink.insertBefore($('div.bodyshortcut')); } /** $('#api-toggle-all').click(function() { if ($(this).hasClass('showed')) { $('div.body dl.api-level > dd').slideUp(); $(this).removeClass('showed'); $(this).html('Expand All ⇓'); $.cookie('kivy.toggleall', 'true'); } else { $('div.body dl.api-level > dd').slideDown(); $(this).addClass('showed'); $(this).html('Collapse All ⇑'); $.cookie('kivy.toggleall', 'false'); } }); **/ $('#api-toggle-desc').click(function() { if ($(this).hasClass('showed')) { $('div.body dl.api-level > dd p').hide(); $('div.body dl.api-level > dd pre').hide(); $('div.body dl.api-level > dd blockquote').hide(); $('div.body dl.api-level > dd ul').hide(); $(this).removeClass('showed'); $(this).html('Show Descriptions ⇓'); $.cookie('kivy.toggledesc', 'true'); } else { $('div.body dl.api-level > dd p').show(); $('div.body dl.api-level > dd pre').show(); $('div.body dl.api-level > dd blockquote').show(); $('div.body dl.api-level > dd ul').show(); $(this).addClass('showed'); $(this).html('Hide Descriptions ⇑'); $.cookie('kivy.toggledesc', 'false'); } }); $('div.body dl.api-level dt').click(function() { $(this).next().children().toggle(); }); if ( $.cookie('kivy.toggledesc') == 'true' ) { $('div.body dl.api-level > dd > dl > dd').hide(); $('#api-toggle-desc').removeClass('showed'); $('#api-toggle-desc').html('Show Descriptions ⇓'); } if ( $.cookie('kivy.toggleall') == 'true' ) { $('div.body dl.api-level > dd').hide(); $('#api-toggle').removeClass('showed'); $('#api-toggle').html('Expand All ⇓'); } //---------------------------------------------------------------------------- // Reduce the TOC page //---------------------------------------------------------------------------- var ul = $('div.sphinxsidebarwrapper h3:eq(1) + ul > li > ul'); $('div.sphinxsidebarwrapper h3:eq(1) + ul').detach(); ul.insertAfter($('div.sphinxsidebarwrapper h3:eq(1)')); $("div.sphinxsidebarwrapper ul").each(function() { if ($(this).children().length < 1) $(this).remove() }); //---------------------------------------------------------------------------- // Menu navigation //---------------------------------------------------------------------------- $('div.sphinxsidebarwrapper > ul > li > a').each(function(index, item) { $(item) .attr('href', '#') .addClass('mainlevel'); if ( !is_api ) { $(item) .bind('mousedown', function() { $('div.sphinxsidebar ul li ul').filter(function (index, child) { if (child != $(item).parent().children('ul').get(0)) return child; }).slideUp(); $(item).parent().children('ul').slideToggle(); }); } }) $('div.sphinxsidebarwrapper li.current').parent().show(); if ( !is_api ) { $('div.sphinxsidebarwrapper ul li').each(function(index, item) { if ($(item).children('ul').length > 0) { $(item).children('a').addClass('togglable'); } }); } // FIXME $('div.sphinxsidebar a[href$="api-kivy.html"]').parent().parent().addClass('api-index'); $('div.sphinxsidebar a[href$="api-kivy.utils.html"]').parent().parent().addClass('api-index'); $('li.current.toctree-l2').slice(0, -1).removeClass('current'); $('ul.api-index a').each(function(index, item) { var url = $(item).attr('href').slice(0, -5); if (url == '') { $(item).attr('href', location.pathname); url = location.pathname.slice(0, -5); } url = url.substr(url.search('api-') + 4); $(item).empty().append(url); }); // Hide API section if we are not in the API. // or hide all the others sections if we are in the API if ( is_api ) { $('div.sphinxsidebarwrapper > ul > li > ul').filter( function(index, item) { if (! $(item).hasClass('api-index')) return item; }).parent().hide(); $('.nav-api').addClass('current'); } else { $('div.sphinxsidebarwrapper > ul > li > ul').filter( function(index, item) { if ($(item).hasClass('api-index')) return item; }).parent().hide(); $('.nav-guides').addClass('current'); } if ( is_api ) { var divscroll = $('div.sphinxsidebarwrapper'); var divscrollwidth = divscroll.width(); var divapi = $('.api-index'); var initial_offset = divscroll.offset(); var jwindow = $(window); function update_api() { var ywindow = jwindow.scrollTop(); var ypadding = 20; var ydiff = ywindow - initial_offset.top; var height = jwindow.height(); if ( ydiff + ypadding > 0) { divscroll.css('position', 'fixed').css('top', ypadding); height -= ypadding * 2; } else { divscroll.css('position', 'static').css('top', -ydiff); height += ydiff - ypadding; } divscroll.height(height).width(divscrollwidth); divapi.height(divapi.offsetParent().height() - divapi.position().top) } $(window).scroll(update_api).bind('resize', update_api); update_api(); $('.toc').hide(); // Resolve API version function read_version(item, default_version) { if ( item === undefined ) return default_version; var version = item.find('p').text(); if ( version == "" ) return default_version; item.detach(); version = version.replace('New in version ', ''); if ( version.substr(-1) == '.' ) version = version.substr(0, version.length - 1); return version; } //function read_version(item, version) { return version; } // get module version var module_version = read_version($('div.body > div.section > div.versionadded'), '1.0.0'); var html_version = 'Added in ' + module_version + ''; $('div.bodyshortcut').append(html_version); // resolve class version, default to module if nothing has been found $('div.section > dl[class]').each(function (i1, el_class) { var rel_class = $(el_class); var class_version = read_version( rel_class.find('> dd > div.versionadded'), module_version); var html_version = 'Added in ' + class_version + ''; rel_class.find('> dt').append(html_version); // resolve method / attr version rel_class.find('> dd > dl[class]').each(function (i2, el_methattr) { var rel_methattr = $(el_methattr); var methattr_version = read_version( rel_methattr.find('> dd > div.versionadded'), class_version); var html_version = 'Added in ' + methattr_version + ''; rel_methattr.find('> dt').append(html_version); }); }); } else { var divscroll = $('div.sphinxsidebar'); var initial_offset = divscroll.offset(); var jwindow = $(window); var b = divscroll.position().top + divscroll.height(); function update_sidebar() { var ywindow = jwindow.scrollTop(); var ymintop = initial_offset.top; var a = ywindow + jwindow.height(); if ( ywindow > b ) { var current = $('li.toctree-l1.current').position().top; divscroll.css('position', 'fixed').css('top', -current); } else { divscroll.css('position', 'relative').css('top', 0); } } $(window).scroll(update_sidebar).bind('resize', update_sidebar); update_sidebar(); if ($('.toc > ul > li> ul').length < 1) $('.toc').hide(); var section_title = $('li.toctree-l1.current > a').text(); $('div.body h1:eq(0)').prepend(section_title + ' » '); } });