203 lines
6.9 KiB
Java
203 lines
6.9 KiB
Java
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
*/
|
|
package ifc.awt;
|
|
|
|
import com.sun.star.accessibility.XAccessible;
|
|
import com.sun.star.accessibility.XAccessibleComponent;
|
|
import com.sun.star.awt.Point;
|
|
import com.sun.star.awt.ScrollBarOrientation;
|
|
import com.sun.star.awt.XScrollBar;
|
|
import com.sun.star.text.XTextDocument;
|
|
import com.sun.star.uno.UnoRuntime;
|
|
|
|
import java.awt.Robot;
|
|
import java.awt.event.InputEvent;
|
|
|
|
import lib.MultiMethodTest;
|
|
|
|
|
|
public class _XScrollBar extends MultiMethodTest {
|
|
public XScrollBar oObj;
|
|
public boolean adjusted = false;
|
|
com.sun.star.awt.XAdjustmentListener listener = new AdjustmentListener();
|
|
|
|
public void _addAdjustmentListener() throws Exception {
|
|
util.FormTools.switchDesignOf(tParam.getMSF(),
|
|
(XTextDocument) tEnv.getObjRelation("Document"));
|
|
oObj.addAdjustmentListener(listener);
|
|
adjustScrollBar();
|
|
|
|
boolean res = adjusted;
|
|
oObj.removeAdjustmentListener(listener);
|
|
adjusted = false;
|
|
adjustScrollBar();
|
|
res &= !adjusted;
|
|
tRes.tested("addAdjustmentListener()", res);
|
|
}
|
|
|
|
public void _removeAdjustmentListener() {
|
|
//this method is checked in addAdjustmentListener
|
|
//so that method is required here and if it works
|
|
//this method is given OK too
|
|
requiredMethod("addAdjustmentListener()");
|
|
tRes.tested("removeAdjustmentListener()", true);
|
|
}
|
|
|
|
public void _setBlockIncrement() {
|
|
oObj.setBlockIncrement(15);
|
|
oObj.setBlockIncrement(5);
|
|
int bi = oObj.getBlockIncrement();
|
|
tRes.tested("setBlockIncrement()",bi==5);
|
|
}
|
|
|
|
public void _getBlockIncrement() {
|
|
//this method is checked in the corresponding set method
|
|
//so that method is required here and if it works
|
|
//this method is given OK too
|
|
requiredMethod("setBlockIncrement()");
|
|
tRes.tested("getBlockIncrement()", true);
|
|
}
|
|
|
|
public void _setLineIncrement() {
|
|
oObj.setLineIncrement(12);
|
|
oObj.setLineIncrement(2);
|
|
int li = oObj.getLineIncrement();
|
|
tRes.tested("setLineIncrement()",li==2);
|
|
}
|
|
|
|
public void _getLineIncrement() {
|
|
//this method is checked in the corresponding set method
|
|
//so that method is required here and if it works
|
|
//this method is given OK too
|
|
requiredMethod("setLineIncrement()");
|
|
tRes.tested("getLineIncrement()", true);
|
|
}
|
|
|
|
public void _setMaximum() {
|
|
oObj.setMaximum(490);
|
|
oObj.setMaximum(480);
|
|
int max = oObj.getMaximum();
|
|
tRes.tested("setMaximum()",max==480);
|
|
}
|
|
|
|
public void _getMaximum() {
|
|
//this method is checked in the corresponding set method
|
|
//so that method is required here and if it works
|
|
//this method is given OK too
|
|
requiredMethod("setMaximum()");
|
|
tRes.tested("getMaximum()", true);
|
|
}
|
|
|
|
public void _setOrientation() {
|
|
oObj.setOrientation(ScrollBarOrientation.HORIZONTAL);
|
|
oObj.setOrientation(ScrollBarOrientation.VERTICAL);
|
|
int ori = oObj.getOrientation();
|
|
tRes.tested("setOrientation()",ori==ScrollBarOrientation.VERTICAL);
|
|
}
|
|
|
|
public void _getOrientation() {
|
|
//this method is checked in the corresponding set method
|
|
//so that method is required here and if it works
|
|
//this method is given OK too
|
|
requiredMethod("setOrientation()");
|
|
tRes.tested("getOrientation()", true);
|
|
}
|
|
|
|
public void _setValue() {
|
|
oObj.setMaximum(600);
|
|
oObj.setValue(480);
|
|
oObj.setValue(520);
|
|
int val = oObj.getValue();
|
|
tRes.tested("setValue()",val==520);
|
|
}
|
|
|
|
public void _getValue() {
|
|
//this method is checked in the corresponding set method
|
|
//so that method is required here and if it works
|
|
//this method is given OK too
|
|
requiredMethod("setValue()");
|
|
tRes.tested("getValue()", true);
|
|
}
|
|
|
|
public void _setVisibleSize() {
|
|
oObj.setVisibleSize(700);
|
|
oObj.setVisibleSize(500);
|
|
int vs = oObj.getVisibleSize();
|
|
tRes.tested("setVisibleSize()",vs==500);
|
|
}
|
|
|
|
public void _getVisibleSize() {
|
|
//this method is checked in the corresponding set method
|
|
//so that method is required here and if it works
|
|
//this method is given OK too
|
|
requiredMethod("setVisibleSize()");
|
|
tRes.tested("getVisibleSize()", true);
|
|
}
|
|
|
|
public void _setValues() {
|
|
oObj.setValues(80, 200, 300);
|
|
oObj.setValues(70, 210, 500);
|
|
int val = oObj.getValue();
|
|
int vs = oObj.getVisibleSize();
|
|
int max = oObj.getMaximum();
|
|
tRes.tested("setValues()",((val==70) && (vs==210) && (max==500)));
|
|
}
|
|
|
|
private void adjustScrollBar() {
|
|
|
|
|
|
XScrollBar sc = UnoRuntime.queryInterface(
|
|
XScrollBar.class, tEnv.getTestObject());
|
|
|
|
sc.setValue(500);
|
|
|
|
waitForEventIdle();
|
|
|
|
XAccessible acc = UnoRuntime.queryInterface(
|
|
XAccessible.class, tEnv.getTestObject());
|
|
|
|
XAccessibleComponent aCom = UnoRuntime.queryInterface(
|
|
XAccessibleComponent.class,
|
|
acc.getAccessibleContext());
|
|
|
|
Point location = aCom.getLocationOnScreen();
|
|
try {
|
|
Robot rob = new Robot();
|
|
rob.mouseMove(location.X + 50, location.Y + 75);
|
|
rob.mousePress(InputEvent.BUTTON1_MASK);
|
|
rob.mouseRelease(InputEvent.BUTTON1_MASK);
|
|
} catch (java.awt.AWTException e) {
|
|
System.out.println("couldn't adjust scrollbar");
|
|
}
|
|
|
|
waitForEventIdle();
|
|
}
|
|
|
|
public class AdjustmentListener
|
|
implements com.sun.star.awt.XAdjustmentListener {
|
|
public void adjustmentValueChanged(com.sun.star.awt.AdjustmentEvent adjustmentEvent) {
|
|
System.out.println("Adjustment Value changed");
|
|
System.out.println("AdjustmentEvent: " + adjustmentEvent.Value);
|
|
adjusted = true;
|
|
}
|
|
|
|
public void disposing(com.sun.star.lang.EventObject eventObject) {
|
|
System.out.println("Listener disposed");
|
|
}
|
|
}
|
|
}
|