view pyink/extensions.py @ 1399:9cebe429508c

Override the clone_from_subtree to setup the parent and children for the coord object. However, the current children is incorrect since we can not copy it from the origin tree. Instead, we need to get coord_t from the cloned group and then modify all coord objects to include correct parent, children, add_shape and clone_from_subtree.
author wycc
date Sun, 03 Apr 2011 11:51:39 +0800
parents 2d56ed5b0995
children
line wrap: on
line source

import pybExtension
import html5css3, mbbbox

_all_extensions = [html5css3.extension, mbbbox.extension]

_DEBUG_FLAG_NAME = 'PYINK_EXT_DBG_ENABLE'

def _reg_extensions():
    import os

    if os.environ.has_key(_DEBUG_FLAG_NAME):
        debug_level = int(os.environ[_DEBUG_FLAG_NAME])
    else:
        debug_level = 0
        pass
    
    if debug_level > 0:
        print 'Loading extensions'
        pass
    
    for ext_imp, ext_id, ext_name, ioe_name, ioe_items in _all_extensions:
        if debug_level > 0:
            print '    register %s -- %s' % (ext_id, ext_name)
            pass
        
        #
        # ioe_items is description items for input, output, and effect.
        #
        if ioe_name not in ('input', 'output', 'effect'):
            raise ValueError, 'invalid extension type (%s)' % (ioe_name)
        
        kws = {ioe_name: ioe_items}
        pybExtension.register_extension(ext_imp, ext_id, ext_name, **kws)
        pass
    pass

def initial():
    _reg_extensions()
    pass