xref: /trunk/test/odf-validate/fixtures/boolean-writer/make.py (revision 0e16a31d78a652c56c5c0fc79c752f48b9048df9)
1*0e16a31dSJim Jagielski# usage: runpy.sh fixtures/boolean-writer/make.py <port> <out.odt>
2*0e16a31dSJim Jagielskiimport sys, uno
3*0e16a31dSJim Jagielskifrom unohelp import connect, desktop, pv
4*0e16a31dSJim Jagielskifrom com.sun.star.lang import Locale
5*0e16a31dSJim Jagielskifrom com.sun.star.util.NumberFormat import LOGICAL
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 Jagielskikey = doc.NumberFormats.getStandardFormat(LOGICAL, Locale("en", "US", ""))
11*0e16a31dSJim Jagielskitbl = doc.createInstance("com.sun.star.text.TextTable")
12*0e16a31dSJim Jagielskitbl.initialize(1, 3)
13*0e16a31dSJim Jagielskidoc.Text.insertTextContent(doc.Text.End, tbl, False)
14*0e16a31dSJim Jagielskifor i, v in enumerate((12345, 1, 0)):
15*0e16a31dSJim Jagielski    c = tbl.getCellByPosition(i, 0)
16*0e16a31dSJim Jagielski    c.NumberFormat = key
17*0e16a31dSJim Jagielski    c.setValue(v)
18*0e16a31dSJim Jagielskicur = doc.Text.createTextCursor(); cur.gotoEnd(False)
19*0e16a31dSJim Jagielskifor i, v in enumerate((12345.0, 1.0, 0.0)):
20*0e16a31dSJim Jagielski    f = doc.createInstance("com.sun.star.text.TextField.SetExpression")
21*0e16a31dSJim Jagielski    mst = doc.createInstance("com.sun.star.text.FieldMaster.SetExpression")
22*0e16a31dSJim Jagielski    mst.Name = "bv%d" % i
23*0e16a31dSJim Jagielski    mst.SubType = 0
24*0e16a31dSJim Jagielski    f.Content = ""
25*0e16a31dSJim Jagielski    f.NumberFormat = key
26*0e16a31dSJim Jagielski    f.SubType = 0
27*0e16a31dSJim Jagielski    f.IsShowFormula = False
28*0e16a31dSJim Jagielski    f.attachTextFieldMaster(mst)
29*0e16a31dSJim Jagielski    doc.Text.insertTextContent(cur, f, False)
30*0e16a31dSJim Jagielski    f.Value = v
31*0e16a31dSJim Jagielski    doc.Text.insertString(cur, " ", False)
32*0e16a31dSJim Jagielskidoc.storeToURL(uno.systemPathToFileUrl(out), (pv("FilterName", "writer8"),))
33*0e16a31dSJim Jagielskidoc.close(True)
34