Exemplo n.º 1
0
 def add_table(self, rows, cols, left, top, width, height):
     """
     Add table shape with the specified number of *rows* and *cols* at the
     specified position with the specified size. *width* is evenly
     distributed between the *cols* columns of the new table. Likewise,
     *height* is evenly distributed between the *rows* rows created.
     """
     id = self._next_shape_id
     name = 'Table %d' % (id-1)
     graphicFrame = CT_GraphicalObjectFrame.new_table(
         id, name, rows, cols, left, top, width, height)
     self._spTree.append(graphicFrame)
     table = Table(graphicFrame, self)
     self._shapes.append(table)
     return table
Exemplo n.º 2
0
 def test_new_table_generates_correct_xml(self):
     """CT_GraphicalObjectFrame.new_table() returns correct XML"""
     # setup ------------------------
     id_, name = 9, 'Table 8'
     rows, cols = 2, 3
     left, top, width, height = 111, 222, 334, 445
     xml = (
         '<p:graphicFrame %s>\n  <p:nvGraphicFramePr>\n    <p:cNvP''r id="'
         '%d" name="%s"/>\n    <p:cNvGraphicFramePr>\n      <a:graphicFram'
         'eLocks noGrp="1"/>\n    </p:cNvGraphicFramePr>\n    <p:nvPr/>\n '
         ' </p:nvGraphicFramePr>\n  <p:xfrm>\n    <a:off x="%d" y="%d"/>\n'
         '    <a:ext cx="%d" cy="%d"/>\n  </p:xfrm>\n  <a:graphic>\n    <a'
         ':graphicData uri="http://schemas.openxmlformats.org/drawingml/20'
         '06/table">\n      <a:tbl>\n        <a:tblPr firstRow="1" bandRow'
         '="1">\n          <a:tableStyleId>{5C22544A-7EE6-4342-B048-85BDC9'
         'FD1C3A}</a:tableStyleId>\n        </a:tblPr>\n        <a:tblGrid'
         '>\n          <a:gridCol w="111"/>\n          <a:gridCol w="111"/'
         '>\n          <a:gridCol w="112"/>\n        </a:tblGrid>\n       '
         ' <a:tr h="222">\n          <a:tc>\n            <a:txBody>\n     '
         '         <a:bodyPr/>\n              <a:lstStyle/>\n             '
         ' <a:p/>\n            </a:txBody>\n            <a:tcPr/>\n       '
         '   </a:tc>\n          <a:tc>\n            <a:txBody>\n          '
         '    <a:bodyPr/>\n              <a:lstStyle/>\n              <a:p'
         '/>\n            </a:txBody>\n            <a:tcPr/>\n          </'
         'a:tc>\n          <a:tc>\n            <a:txBody>\n              <'
         'a:bodyPr/>\n              <a:lstStyle/>\n              <a:p/>\n '
         '           </a:txBody>\n            <a:tcPr/>\n          </a:tc>'
         '\n        </a:tr>\n        <a:tr h="223">\n          <a:tc>\n   '
         '         <a:txBody>\n              <a:bodyPr/>\n              <a'
         ':lstStyle/>\n              <a:p/>\n            </a:txBody>\n    '
         '        <a:tcPr/>\n          </a:tc>\n          <a:tc>\n        '
         '    <a:txBody>\n              <a:bodyPr/>\n              <a:lstS'
         'tyle/>\n              <a:p/>\n            </a:txBody>\n         '
         '   <a:tcPr/>\n          </a:tc>\n          <a:tc>\n            <'
         'a:txBody>\n              <a:bodyPr/>\n              <a:lstStyle/'
         '>\n              <a:p/>\n            </a:txBody>\n            <a'
         ':tcPr/>\n          </a:tc>\n        </a:tr>\n      </a:tbl>\n   '
         ' </a:graphicData>\n  </a:graphic>\n</p:graphicFrame>\n' %
         (nsdecls('a', 'p'), id_, name, left, top, width, height)
     )
     # exercise ---------------------
     graphicFrame = CT_GraphicalObjectFrame.new_table(
         id_, name, rows, cols, left, top, width, height)
     # verify -----------------------
     self.assertEqualLineByLine(xml, graphicFrame)