22 sys.path.append(os.path.dirname(__file__))
 
   23 from namespaces 
import DRAWNS, STYLENS, PRESENTATIONNS
 
   24 from element 
import Element
 
   28     if stylename 
is not None:
 
   29         f = stylename.getAttrNS(STYLENS, 
'family')
 
   31             qattrs[(DRAWNS,
u'style-name')]= stylename
 
   32         elif f == 
'presentation':
 
   33             qattrs[(PRESENTATIONNS,
u'style-name')]= stylename
 
   35             raise ValueError( 
"Style's family must be either 'graphic' or 'presentation'")
 
   36     if classnames 
is not None:
 
   37         f = classnames[0].getAttrNS(STYLENS, 
'family')
 
   39             qattrs[(DRAWNS,
u'class-names')]= classnames
 
   40         elif f == 
'presentation':
 
   41             qattrs[(PRESENTATIONNS,
u'class-names')]= classnames
 
   43             raise ValueError( 
"Style's family must be either 'graphic' or 'presentation'")
 
   44     return Element(qattributes=qattrs, **args)
 
   47     e = Element(name=name, **args)
 
   48     if 'displayname' not in args:
 
   49         e.setAttrNS(DRAWNS,
'display-name', name)
 
   54     args.setdefault(
'type', 
'simple')
 
   55     return Element(qname = (DRAWNS,
'a'), **args)
 
   58     return Element(qname = (DRAWNS,
'applet'), **args)
 
   61     return Element(qname = (DRAWNS,
'area-circle'), **args)
 
   64     return Element(qname = (DRAWNS,
'area-polygon'), **args)
 
   67     return Element(qname = (DRAWNS,
'area-rectangle'), **args)
 
   79     return Element(qname = (DRAWNS,
'contour-path'), **args)
 
   82     return Element(qname = (DRAWNS,
'contour-polygon'), **args)
 
   94     return Element(qname = (DRAWNS,
'enhanced-geometry'), **args)
 
   97     return Element(qname = (DRAWNS,
'equation'), **args)
 
  100     args.setdefault(
'type', 
'simple')
 
  101     return DrawElement(qname = (DRAWNS,
'fill-image'), **args)
 
  104     args.setdefault(
'type', 
'simple')
 
  105     return Element(qname = (DRAWNS,
'floating-frame'), **args)
 
  114     return Element(qname = (DRAWNS,
'glue-point'), **args)
 
  117     return DrawElement(qname = (DRAWNS,
'gradient'), **args)
 
  120     return Element(qname = (DRAWNS,
'handle'), **args)
 
  123     return DrawElement(qname = (DRAWNS,
'hatch'), **args)
 
  126     return Element(qname = (DRAWNS,
'image'), **args)
 
  129     return Element(qname = (DRAWNS,
'image-map'), **args)
 
  132     return Element(qname = (DRAWNS,
'layer'), **args)
 
  135     return Element(qname = (DRAWNS,
'layer-set'), **args)
 
  141     return DrawElement(qname = (DRAWNS,
'marker'), **args)
 
  147     return Element(qname = (DRAWNS,
'object'), **args)
 
  150     return Element(qname = (DRAWNS,
'object-ole'), **args)
 
  153     return DrawElement(qname = (DRAWNS,
'opacity'), **args)
 
  156     return Element(qname = (DRAWNS,
'page'), **args)
 
  162     return Element(qname = (DRAWNS,
'param'), **args)
 
  168     args.setdefault(
'type', 
'simple')
 
  169     return Element(qname = (DRAWNS,
'plugin'), **args)
 
  184     return DrawElement(qname = (DRAWNS,
'stroke-dash'), **args)
 
  187     return Element(qname = (DRAWNS,
'text-box'), **args)