Gtk-WARNING gtktreestore.c:1047: Invalid column number 1 added to iter
[LibreOffice.git] / qadevOOo / runner / util / SysUtils.java
blob2b02fd79b5d9adc567d2ef10b499ea4055f2a1ff
1 /*
2 * This file is part of the LibreOffice project.
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 * This file incorporates work covered by the following license notice:
10 * Licensed to the Apache Software Foundation (ASF) under one or more
11 * contributor license agreements. See the NOTICE file distributed
12 * with this work for additional information regarding copyright
13 * ownership. The ASF licenses this file to you under the Apache
14 * License, Version 2.0 (the "License"); you may not use this file
15 * except in compliance with the License. You may obtain a copy of
16 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 package util;
21 import com.sun.star.lang.XMultiServiceFactory;
22 import com.sun.star.uno.UnoRuntime;
23 import com.sun.star.datatransfer.clipboard.*;
24 import com.sun.star.datatransfer.*;
26 public class SysUtils {
28 /**
29 * Tries to obtain text data from clipboard if such one exists.
30 * The method iterates through all 'text/plain' supported data
31 * flavors and returns the first non-null String value.
33 * @param msf MultiserviceFactory
34 * @return First found string clipboard contents or null if no
35 * text contents were found.
36 * @throws com.sun.star.uno.Exception if system clipboard is not accessible.
38 public static String getSysClipboardText(XMultiServiceFactory msf)
39 throws com.sun.star.uno.Exception {
41 XClipboard xCB = UnoRuntime.queryInterface
42 (XClipboard.class, msf.createInstance
43 ("com.sun.star.datatransfer.clipboard.SystemClipboard"));
45 XTransferable xTrans = xCB.getContents();
47 DataFlavor[] dfs = xTrans.getTransferDataFlavors();
49 for (int i = 0; i < dfs.length; i++) {
50 if (dfs[i].MimeType.startsWith("text/plain")) {
51 Object data = xTrans.getTransferData(dfs[i]);
52 if (data instanceof String) {
53 return (String) data;
58 return null;