xref: /trunk/test/odf-validate/fixtures/normal-values/make.py (revision 0e16a31d78a652c56c5c0fc79c752f48b9048df9)
1*0e16a31dSJim Jagielski# usage: runpy.sh fixtures/normal-values/make.py <port> <out.odt>
2*0e16a31dSJim Jagielskiimport sys, uno
3*0e16a31dSJim Jagielskifrom unohelp import connect, desktop, pv
4*0e16a31dSJim Jagielskifrom com.sun.star.text.TextContentAnchorType import AT_PAGE, AT_PARAGRAPH
5*0e16a31dSJim Jagielskifrom com.sun.star.style.BreakType import PAGE_BEFORE
6*0e16a31dSJim Jagielski
7*0e16a31dSJim Jagielskiport, out = int(sys.argv[1]), sys.argv[2]
8*0e16a31dSJim Jagielskid = desktop(connect(port))
9*0e16a31dSJim Jagielskidoc = d.loadComponentFromURL("private:factory/swriter", "_blank", 0, (pv("Hidden", True),))
10*0e16a31dSJim Jagielskitext = doc.Text
11*0e16a31dSJim Jagielski
12*0e16a31dSJim Jagielskitbl = doc.createInstance("com.sun.star.text.TextTable")
13*0e16a31dSJim Jagielskitbl.initialize(2, 3)
14*0e16a31dSJim Jagielskitext.insertTextContent(text.End, tbl, False)
15*0e16a31dSJim Jagielskic = tbl.createCursorByCellName("A1")
16*0e16a31dSJim Jagielskic.goRight(1, True)
17*0e16a31dSJim Jagielskic.mergeRange()
18*0e16a31dSJim Jagielski
19*0e16a31dSJim Jagielskicur = text.createTextCursor(); cur.gotoEnd(False)
20*0e16a31dSJim Jagielskitext.insertString(cur, "\nbody\n", False)
21*0e16a31dSJim Jagielskicur.gotoEnd(False)
22*0e16a31dSJim Jagielskicur.BreakType = PAGE_BEFORE
23*0e16a31dSJim Jagielskitext.insertString(cur, "page two\n", False)
24*0e16a31dSJim Jagielski
25*0e16a31dSJim Jagielskifn = doc.createInstance("com.sun.star.text.Footnote")
26*0e16a31dSJim Jagielskifn.Label = ""
27*0e16a31dSJim Jagielskicur.gotoEnd(False)
28*0e16a31dSJim Jagielskitext.insertTextContent(cur, fn, False)
29*0e16a31dSJim Jagielskifn.String = "note text"
30*0e16a31dSJim Jagielskitext.insertString(cur, " ", False)
31*0e16a31dSJim Jagielskifor part in (0, 3, 2):
32*0e16a31dSJim Jagielski    f = doc.createInstance("com.sun.star.text.TextField.GetReference")
33*0e16a31dSJim Jagielski    f.ReferenceFieldSource = 3
34*0e16a31dSJim Jagielski    f.SourceName = ""
35*0e16a31dSJim Jagielski    f.SequenceNumber = fn.ReferenceId
36*0e16a31dSJim Jagielski    f.ReferenceFieldPart = part
37*0e16a31dSJim Jagielski    text.insertTextContent(cur, f, False)
38*0e16a31dSJim Jagielski    text.insertString(cur, " ", False)
39*0e16a31dSJim Jagielski
40*0e16a31dSJim Jagielskifor name, page in (("frame_p2", 2), ("frame_nopage", 0)):
41*0e16a31dSJim Jagielski    fr = doc.createInstance("com.sun.star.text.TextFrame")
42*0e16a31dSJim Jagielski    fr.AnchorType = AT_PAGE
43*0e16a31dSJim Jagielski    if page:
44*0e16a31dSJim Jagielski        fr.AnchorPageNo = page
45*0e16a31dSJim Jagielski    fr.Width = 3000; fr.Height = 1000
46*0e16a31dSJim Jagielski    text.insertTextContent(cur, fr, False)
47*0e16a31dSJim Jagielski    fr.setName(name)
48*0e16a31dSJim Jagielski    fr.Text.String = name
49*0e16a31dSJim Jagielski
50*0e16a31dSJim Jagielskidoc.storeToURL(uno.systemPathToFileUrl(out), (pv("FilterName", "writer8"),))
51*0e16a31dSJim Jagielskidoc.close(True)
52