forked from amazingfate/loongoffice
Attempt to clean up most but certainly not all the spelling mistakes that found home in OpenOffice through decades. We could probably blame the international nature of the code but it is somewhat shameful that this wasn't done before. (cherry picked from commit a6efc99d19d533fcf53106b6667bafba4d364370) Conflicts: accessibility/bridge/org/openoffice/java/accessibility/AccessibleTextImpl.java accessibility/bridge/org/openoffice/java/accessibility/Component.java accessibility/bridge/org/openoffice/java/accessibility/Container.java accessibility/bridge/org/openoffice/java/accessibility/DescendantManager.java accessibility/bridge/org/openoffice/java/accessibility/Dialog.java accessibility/bridge/org/openoffice/java/accessibility/Frame.java accessibility/bridge/org/openoffice/java/accessibility/List.java accessibility/bridge/org/openoffice/java/accessibility/Menu.java accessibility/bridge/org/openoffice/java/accessibility/Table.java accessibility/bridge/org/openoffice/java/accessibility/Tree.java accessibility/bridge/org/openoffice/java/accessibility/Window.java accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx accessibility/inc/accessibility/extended/AccessibleBrowseBoxBase.hxx accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx accessibility/inc/accessibility/standard/vclxaccessiblebox.hxx accessibility/source/extended/accessibleiconchoicectrlentry.cxx accessibility/source/extended/accessiblelistboxentry.cxx accessibility/source/extended/accessibletablistbox.cxx accessibility/source/extended/accessibletablistboxtable.cxx accessibility/workben/org/openoffice/accessibility/awb/canvas/Canvas.java accessibility/workben/org/openoffice/accessibility/misc/OfficeConnection.java apple_remote/AppleRemote.m autodoc/inc/ary/cpp/c_gate.hxx autodoc/inc/ary/cpp/cp_ce.hxx autodoc/inc/ary/cpp/cp_def.hxx autodoc/inc/ary/cpp/cp_type.hxx autodoc/inc/ary/doc/d_parametrized.hxx autodoc/inc/ary/idl/i_type.hxx autodoc/source/ary/inc/cross_refs.hxx autodoc/source/ary/inc/sorted_idset.hxx autodoc/source/display/html/outfile.hxx autodoc/source/display/html/pagemake.cxx autodoc/source/display/idl/hi_env.hxx autodoc/source/parser/inc/tokens/tokproct.hxx autodoc/source/parser_i/inc/s2_luidl/tokproct.hxx autodoc/source/parser_i/inc/tokens/tkp2.hxx automation/inc/automation/commtypes.hxx automation/inc/automation/simplecm.hxx automation/source/server/recorder.cxx automation/source/server/recorder.hxx automation/source/server/statemnt.cxx automation/source/simplecm/packethandler.hxx automation/source/simplecm/simplecm.cxx avmedia/source/framework/soundhandler.cxx basegfx/inc/basegfx/range/rangeexpander.hxx basic/inc/basic/sbxdef.hxx basic/source/classes/sbunoobj.cxx basic/source/classes/sbxmod.cxx basic/source/comp/dim.cxx basic/source/comp/exprgen.cxx basic/source/runtime/step1.cxx basic/source/runtime/step2.cxx basic/source/sbx/sbxint.cxx basic/source/uno/namecont.cxx basic/workben/mgrtest.cxx bean/com/sun/star/beans/LocalOfficeConnection.java bean/com/sun/star/beans/LocalOfficeWindow.java bean/com/sun/star/comp/beans/LocalOfficeConnection.java bean/com/sun/star/comp/beans/LocalOfficeWindow.java bean/com/sun/star/comp/beans/OOoBean.java bridges/inc/bridges/cpp_uno/bridge.hxx bridges/source/cpp_uno/cc50_solaris_intel/cpp2uno.cxx bridges/source/cpp_uno/cc50_solaris_intel/except.cxx bridges/source/cpp_uno/cc50_solaris_intel/uno2cpp.cxx bridges/source/cpp_uno/cc50_solaris_sparc/cpp2uno.cxx bridges/source/cpp_uno/cc50_solaris_sparc/except.cxx bridges/source/cpp_uno/cc50_solaris_sparc/uno2cpp.cxx bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx bridges/source/cpp_uno/gcc3_macosx_powerpc/cpp2uno.cxx bridges/source/cpp_uno/gcc3_macosx_x86-64/uno2cpp.cxx bridges/source/cpp_uno/gcc3_netbsd_intel/cpp2uno.cxx bridges/source/cpp_uno/gcc3_netbsd_intel/except.cxx bridges/source/cpp_uno/gcc3_netbsd_intel/uno2cpp.cxx bridges/source/cpp_uno/gcc3_os2_intel/cpp2uno.cxx bridges/source/cpp_uno/gcc3_os2_intel/except.cxx bridges/source/cpp_uno/gcc3_os2_intel/uno2cpp.cxx bridges/source/cpp_uno/mingw_x86-64/uno2cpp.cxx bridges/source/cpp_uno/msvc_win32_intel/except.cxx bridges/source/cpp_uno/s5abi_macosx_x86-64/except.cxx bridges/source/cpp_uno/shared/component.cxx bridges/source/jni_uno/jni_base.h bridges/source/jni_uno/jni_bridge.cxx bridges/source/jni_uno/jni_java2uno.cxx bridges/source/jni_uno/jni_uno2java.cxx canvas/inc/canvas/base/doublebitmapbase.hxx canvas/inc/canvas/base/floatbitmapbase.hxx canvas/inc/canvas/base/integerbitmapbase.hxx canvas/source/cairo/cairo_canvasbitmap.cxx canvas/source/cairo/cairo_textlayout.cxx chart2/source/controller/dialogs/ObjectNameProvider.cxx chart2/source/view/diagram/VDiagram.cxx chart2/source/view/main/ChartView.cxx cli_ure/source/native/makefile.mk cli_ure/source/uno_bridge/cli_data.cxx codemaker/source/javamaker/javatype.cxx comphelper/inc/comphelper/componentcontext.hxx comphelper/inc/comphelper/interaction.hxx comphelper/inc/comphelper/locale.hxx comphelper/inc/comphelper/string.hxx comphelper/source/container/embeddedobjectcontainer.cxx comphelper/source/misc/accessiblecontexthelper.cxx comphelper/source/misc/asyncnotification.cxx comphelper/source/misc/locale.cxx comphelper/source/misc/mediadescriptor.cxx comphelper/source/misc/numberedcollection.cxx comphelper/source/misc/proxyaggregation.cxx comphelper/source/misc/scopeguard.cxx comphelper/source/misc/sequenceashashmap.cxx configure.in connectivity/source/commontools/parameters.cxx connectivity/source/drivers/dbase/DTable.cxx connectivity/source/drivers/evoab2/NStatement.cxx connectivity/source/drivers/file/FPreparedStatement.cxx connectivity/source/drivers/jdbc/DatabaseMetaData.cxx connectivity/source/inc/flat/ETable.hxx connectivity/source/parse/sqlnode.cxx cosv/inc/cosv/persist.hxx cosv/inc/cosv/ploc_dir.hxx cosv/inc/cosv/tpl/dyn.hxx cppu/source/LogBridge/LogBridge.cxx cppu/source/uno/data.cxx cppuhelper/source/bootstrap.cxx cppuhelper/source/component_context.cxx cppuhelper/source/propshlp.cxx cppuhelper/source/servicefactory.cxx cpputools/source/registercomponent/registercomponent.cxx cui/source/customize/acccfg.cxx cui/source/dialogs/about.cxx cui/source/dialogs/commonlingui.hxx cui/source/dialogs/showcols.cxx cui/source/inc/cuihyperdlg.hxx cui/source/inc/cuitabline.hxx cui/source/options/optsave.src cui/source/tabpages/tpline.cxx cui/source/tabpages/transfrm.cxx dbaccess/source/core/api/CacheSet.cxx dbaccess/source/core/api/KeySet.cxx dbaccess/source/core/api/RowSet.cxx dbaccess/source/core/api/RowSet.hxx dbaccess/source/core/api/RowSetBase.cxx dbaccess/source/core/api/RowSetBase.hxx dbaccess/source/core/api/RowSetCache.cxx dbaccess/source/core/api/querycomposer.cxx dbaccess/source/ext/adabas/Acomponentmodule.hxx dbaccess/source/ui/app/AppControllerDnD.cxx dbaccess/source/ui/app/AppDetailView.cxx dbaccess/source/ui/browser/brwctrlr.cxx dbaccess/source/ui/browser/sbagrid.cxx dbaccess/source/ui/browser/unodatbr.cxx dbaccess/source/ui/dlg/AdabasStat.hxx dbaccess/source/ui/dlg/UserAdmin.cxx dbaccess/source/ui/dlg/directsql.cxx dbaccess/source/ui/dlg/generalpage.hxx dbaccess/source/ui/dlg/tablespage.cxx dbaccess/source/ui/inc/JoinTableView.hxx dbaccess/source/ui/inc/TableController.hxx dbaccess/source/ui/inc/UITools.hxx dbaccess/source/ui/inc/brwctrlr.hxx dbaccess/source/ui/inc/datasourcemap.hxx dbaccess/source/ui/querydesign/JoinTableView.cxx dbaccess/source/ui/querydesign/QueryDesignView.cxx dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx dbaccess/source/ui/querydesign/TableWindow.cxx dbaccess/source/ui/querydesign/querycontroller.cxx dbaccess/source/ui/relationdesign/RelationTableView.cxx dbaccess/source/ui/tabledesign/TableController.cxx desktop/source/app/app.cxx desktop/source/app/appinit.cxx desktop/source/app/langselect.cxx desktop/source/app/officeipcthread.cxx desktop/source/deployment/manager/dp_extensionmanager.cxx desktop/source/deployment/misc/dp_misc.cxx desktop/source/deployment/misc/dp_resource.cxx desktop/source/deployment/registry/dp_backend.cxx desktop/source/deployment/registry/package/dp_package.cxx desktop/source/migration/cfgfilter.cxx desktop/source/migration/migration.cxx desktop/source/splash/splash.cxx desktop/win32/source/QuickStart/QuickStart.cpp desktop/win32/source/setup/setup.cpp drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx dtrans/source/win32/clipb/MtaOleClipb.hxx dtrans/source/win32/clipb/WinClipbImpl.cxx editeng/source/editeng/editview.cxx editeng/source/editeng/impedit2.cxx editeng/source/editeng/impedit3.cxx editeng/source/editeng/impedit4.cxx editeng/source/editeng/textconv.hxx editeng/source/misc/unolingu.cxx embeddedobj/source/commonembedding/persistence.cxx embeddedobj/source/general/dummyobject.cxx embeddedobj/source/msole/olecomponent.cxx embeddedobj/source/msole/olepersist.cxx embeddedobj/test/Container1/NativeView.java extensions/source/bibliography/framectr.cxx extensions/source/macosx/spotlight/OOoContentDataParser.m extensions/source/macosx/spotlight/unzip.h extensions/source/macosx/spotlight/unzip.m extensions/source/oooimprovement/myconfigurationhelper.hxx extensions/source/propctrlr/eventhandler.cxx extensions/source/propctrlr/formcomponenthandler.cxx extensions/source/propctrlr/pcrcomponentcontext.hxx extensions/source/scanner/twain.cxx extensions/source/update/check/updatecheckconfig.hxx external/mingwheaders/mingw_atl_headers.patch extras/source/misc_config/wizard/web/layouts/source.xml.xsl fileaccess/source/FileAccess.cxx filter/inc/filter/msfilter/msocximex.hxx filter/inc/filter/msfilter/svxmsbas.hxx filter/qa/complex/filter/detection/typeDetection/Helper.java filter/source/config/cache/basecontainer.cxx filter/source/config/cache/cacheitem.hxx filter/source/config/cache/contenthandlerfactory.cxx filter/source/config/cache/filtercache.cxx filter/source/config/cache/filtercache.hxx filter/source/config/cache/filterfactory.cxx filter/source/config/cache/frameloaderfactory.cxx filter/source/config/cache/querytokenizer.hxx filter/source/config/cache/typedetection.cxx filter/source/config/cache/typedetection.hxx filter/source/config/cache/versions.hxx filter/source/config/fragments/makefile.mk filter/source/config/tools/merge/pyAltFCFGMerge filter/source/flash/swfwriter.cxx filter/source/flash/swfwriter1.cxx filter/source/msfilter/msdffimp.cxx filter/source/msfilter/msocximex.cxx filter/source/msfilter/msvbahelper.cxx filter/source/msfilter/svxmsbas.cxx filter/source/xmlfilterdetect/filterdetect.cxx filter/source/xslt/import/uof2/uof2odf.xsl filter/source/xslt/odf2xhtml/export/xhtml/body.xsl filter/source/xsltfilter/com/sun/star/comp/xsltfilter/Base64.java forms/source/xforms/convert.hxx forms/source/xforms/model.cxx fpicker/source/aqua/SalAquaFilePicker.mm fpicker/source/office/fpinteraction.cxx fpicker/source/unx/gnome/SalGtkFolderPicker.cxx fpicker/source/unx/kde4/KDE4FilePicker.cxx fpicker/source/win32/filepicker/PreviewCtrl.cxx fpicker/source/win32/filepicker/PreviewCtrl.hxx fpicker/source/win32/filepicker/VistaFilePicker.cxx fpicker/source/win32/filepicker/VistaFilePickerImpl.hxx fpicker/source/win32/filepicker/helppopupwindow.hxx fpicker/source/win32/folderpicker/MtaFop.hxx framework/inc/classes/droptargetlistener.hxx framework/inc/classes/filtercache.hxx framework/inc/classes/filtercachedata.hxx framework/inc/classes/protocolhandlercache.hxx framework/inc/classes/servicemanager.hxx framework/inc/commands.h framework/inc/dispatch/basedispatcher.hxx framework/inc/dispatch/blankdispatcher.hxx framework/inc/dispatch/closedispatcher.hxx framework/inc/dispatch/createdispatcher.hxx framework/inc/dispatch/dispatchprovider.hxx framework/inc/dispatch/helpagentdispatcher.hxx framework/inc/dispatch/mailtodispatcher.hxx framework/inc/dispatch/menudispatcher.hxx framework/inc/dispatch/oxt_handler.hxx framework/inc/dispatch/popupmenudispatcher.hxx framework/inc/dispatch/selfdispatcher.hxx framework/inc/dispatch/servicehandler.hxx framework/inc/dispatch/startmoduledispatcher.hxx framework/inc/dispatch/systemexec.hxx framework/inc/helper/fixeddocumentproperties.hxx framework/inc/helper/ocomponentaccess.hxx framework/inc/helper/oframes.hxx framework/inc/helper/otasksenumeration.hxx framework/inc/helper/persistentwindowstate.hxx framework/inc/helper/statusindicator.hxx framework/inc/helper/statusindicatorfactory.hxx framework/inc/helper/tagwindowasmodified.hxx framework/inc/helper/titlebarupdate.hxx framework/inc/helper/vclstatusindicator.hxx framework/inc/interaction/quietinteraction.hxx framework/inc/jobs/helponstartup.hxx framework/inc/jobs/job.hxx framework/inc/jobs/jobdata.hxx framework/inc/jobs/jobexecutor.hxx framework/inc/loadstate.h framework/inc/macros/debug/assertion.hxx framework/inc/macros/debug/event.hxx framework/inc/macros/debug/filterdbg.hxx framework/inc/macros/debug/memorymeasure.hxx framework/inc/macros/debug/timemeasure.hxx framework/inc/macros/xserviceinfo.hxx framework/inc/queries.h framework/inc/recording/dispatchrecordersupplier.hxx framework/inc/services/autorecovery.hxx framework/inc/services/backingcomp.hxx framework/inc/services/contenthandlerfactory.hxx framework/inc/services/desktop.hxx framework/inc/services/detectorfactory.hxx framework/inc/services/frame.hxx framework/inc/services/frameloaderfactory.hxx framework/inc/services/layoutmanager.hxx framework/inc/services/license.hxx framework/inc/services/logindialog.hxx framework/inc/services/modulemanager.hxx framework/inc/services/pathsettings.hxx framework/inc/services/pluginframe.hxx framework/inc/services/substitutepathvars.hxx framework/inc/services/task.hxx framework/inc/services/taskcreatorsrv.hxx framework/inc/stdtypes.h framework/inc/threadhelp/fairrwlock.hxx framework/inc/threadhelp/inoncopyable.h framework/inc/threadhelp/itransactionmanager.h framework/inc/threadhelp/lockhelper.hxx framework/inc/threadhelp/readguard.hxx framework/inc/threadhelp/resetableguard.hxx framework/inc/threadhelp/transactionguard.hxx framework/inc/threadhelp/writeguard.hxx framework/inc/uifactory/uielementfactorymanager.hxx framework/inc/xml/acceleratorconfigurationreader.hxx framework/qa/complex/dispatches/checkdispatchapi.java framework/qa/complex/framework/autosave/AutoSave.java framework/qa/complex/framework/autosave/Protocol.java framework/qa/complex/framework/recovery/RecoveryTest.java framework/qa/complex/loadAllDocuments/StreamSimulator.java framework/source/accelerators/acceleratorconfiguration.cxx framework/source/accelerators/acceleratorexecute.cxx framework/source/accelerators/acceleratorexecute.hxx framework/source/accelerators/keymapping.cxx framework/source/accelerators/presethandler.cxx framework/source/application/framework.cxx framework/source/application/login.cxx framework/source/classes/framecontainer.cxx framework/source/classes/menumanager.cxx framework/source/classes/taskcreator.cxx framework/source/dispatch/closedispatcher.cxx framework/source/dispatch/dispatchprovider.cxx framework/source/dispatch/helpagentdispatcher.cxx framework/source/dispatch/interceptionhelper.cxx framework/source/dispatch/mailtodispatcher.cxx framework/source/dispatch/menudispatcher.cxx framework/source/dispatch/oxt_handler.cxx framework/source/dispatch/servicehandler.cxx framework/source/fwe/classes/framelistanalyzer.cxx framework/source/fwe/dispatch/interaction.cxx framework/source/fwe/helper/titlehelper.cxx framework/source/fwe/helper/undomanagerhelper.cxx framework/source/fwe/xml/eventsdocumenthandler.cxx framework/source/fwe/xml/statusbardocumenthandler.cxx framework/source/fwe/xml/toolboxdocumenthandler.cxx framework/source/fwi/classes/protocolhandlercache.cxx framework/source/fwi/threadhelp/lockhelper.cxx framework/source/fwi/threadhelp/transactionmanager.cxx framework/source/helper/persistentwindowstate.cxx framework/source/helper/statusindicatorfactory.cxx framework/source/helper/vclstatusindicator.cxx framework/source/inc/accelerators/acceleratorcache.hxx framework/source/inc/accelerators/acceleratorconfiguration.hxx framework/source/inc/accelerators/presethandler.hxx framework/source/inc/accelerators/storageholder.hxx framework/source/inc/loadenv/actionlockguard.hxx framework/source/inc/loadenv/loadenv.hxx framework/source/inc/loadenv/loadenvexception.hxx framework/source/inc/pattern/frame.hxx framework/source/inc/pattern/storages.hxx framework/source/inc/pattern/window.hxx framework/source/jobs/helponstartup.cxx framework/source/jobs/job.cxx framework/source/jobs/jobdata.cxx framework/source/jobs/jobdispatch.cxx framework/source/jobs/jobresult.cxx framework/source/jobs/joburl.cxx framework/source/jobs/shelljob.cxx framework/source/loadenv/loadenv.cxx framework/source/services/autorecovery.cxx framework/source/services/backingwindow.cxx framework/source/services/desktop.cxx framework/source/services/frame.cxx framework/source/services/modulemanager.cxx framework/source/services/pathsettings.cxx framework/source/services/substitutepathvars.cxx framework/source/uiconfiguration/moduleuicfgsupplier.cxx framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx framework/source/uiconfiguration/uicategorydescription.cxx framework/source/uiconfiguration/uiconfigurationmanagerimpl.cxx framework/source/uiconfiguration/windowstateconfiguration.cxx framework/source/uielement/uicommanddescription.cxx framework/source/unotypes/fwk.xml framework/source/xml/imagesdocumenthandler.cxx framework/test/test.cxx framework/test/test_componentenumeration.bas framework/test/test_statusindicatorfactory.bas framework/test/threadtest.cxx framework/test/threadtest/threadtest.cxx framework/test/typecfg/cfgview.cxx framework/test/typecfg/xml2xcd.cxx include/basegfx/polygon/b2dpolygon.hxx include/canvas/base/graphicdevicebase.hxx include/canvas/canvastools.hxx include/comphelper/configurationhelper.hxx include/comphelper/embeddedobjectcontainer.hxx include/comphelper/propagg.hxx include/comphelper/sequenceashashmap.hxx include/connectivity/sqlerror.hxx include/connectivity/sqlnode.hxx include/cppuhelper/propshlp.hxx include/editeng/AccessibleContextBase.hxx include/framework/framelistanalyzer.hxx sfx2/source/dialog/backingcomp.cxx vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx Change-Id: I2618bf83c0e30f68f23ff25f6eb466df04d34c6d
609 lines
20 KiB
Java
609 lines
20 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 complex.XUserInputInterception;
|
|
|
|
import com.sun.star.accessibility.AccessibleRole;
|
|
import com.sun.star.accessibility.XAccessible;
|
|
import com.sun.star.accessibility.XAccessibleComponent;
|
|
import com.sun.star.accessibility.XAccessibleContext;
|
|
import com.sun.star.awt.KeyEvent;
|
|
import com.sun.star.awt.MouseEvent;
|
|
import com.sun.star.awt.Point;
|
|
import com.sun.star.awt.Rectangle;
|
|
import com.sun.star.awt.XKeyHandler;
|
|
import com.sun.star.awt.XMouseClickHandler;
|
|
import com.sun.star.awt.XUserInputInterception;
|
|
import com.sun.star.awt.XWindow;
|
|
import com.sun.star.frame.*;
|
|
import com.sun.star.lang.*;
|
|
import com.sun.star.lang.EventObject;
|
|
import com.sun.star.sheet.XSpreadsheetDocument;
|
|
import com.sun.star.text.XTextDocument;
|
|
import com.sun.star.uno.UnoRuntime;
|
|
import com.sun.star.uno.XInterface;
|
|
import com.sun.star.util.*;
|
|
import java.awt.Robot;
|
|
import java.awt.event.InputEvent;
|
|
|
|
import util.AccessibilityTools;
|
|
import util.SOfficeFactory;
|
|
|
|
import org.junit.AfterClass;
|
|
import org.junit.Before;
|
|
import org.junit.BeforeClass;
|
|
import org.junit.Test;
|
|
import org.openoffice.test.OfficeConnection;
|
|
import static org.junit.Assert.*;
|
|
|
|
|
|
/**
|
|
* This <CODE>ComplexTest</CODE> checks the interface
|
|
* <CODE>XUserInputInterception</CODE>. Therefore it creates a document,
|
|
* adds a mouse and a key listener onto the interface and fire the
|
|
* correspond events. If all listener works as expected the test resluts in
|
|
* <CODE>OK</CODE> status.
|
|
* @short Check the interface XUserInputIntercaption
|
|
* @descr checks is a simple way the interface XUserInputInteraction
|
|
*/
|
|
public class EventTest {
|
|
|
|
// some const
|
|
|
|
|
|
// member
|
|
|
|
/** indicates if the mousePressed event was called*/
|
|
private boolean m_mousePressed = false;
|
|
/** indicates if the mouseReleased event was called*/
|
|
private boolean m_mouseReleased = false;
|
|
|
|
/** indicates if the mousePressed event was called*/
|
|
private boolean m_keyPressed = false;
|
|
/** indicates if the mouseReleased event was called*/
|
|
private boolean m_keyReleased = false;
|
|
|
|
/** points to a global StarOffice factory */
|
|
private SOfficeFactory m_SOF = null;
|
|
|
|
/**
|
|
* define the miliseconds to wait until a <CODE>EventTrigger</CODE> thread should
|
|
* be finished with its work
|
|
*/
|
|
final int m_threadWait = 3000;
|
|
|
|
|
|
// test environment
|
|
|
|
|
|
/**
|
|
* The test methods are:
|
|
* <ul>
|
|
* <li><CODE>checkTextDocument</CODE></LI>
|
|
* <li><CODE>checkCalcDocument</CODE></LI>
|
|
* <li><CODE>checkDrawDocument</CODE></LI>
|
|
* <li><CODE>checkImpressDocument</CODE></LI>
|
|
* <li><CODE>checkChartDocument</CODE></LI>
|
|
* <li><CODE>checkMathDocument</CODE></li>
|
|
* </ul>
|
|
* @short A function to tell the framework,
|
|
* which test functions are available.
|
|
* @return All test methods.
|
|
* @todo Think about selection of tests from outside ...
|
|
*/
|
|
// public String[] getTestMethodNames() {
|
|
// return new String[]
|
|
// { "checkTextDocument",
|
|
// "checkCalcDocument",
|
|
// "checkDrawDocument",
|
|
// "checkImpressDocument",
|
|
// "checkChartDocument",
|
|
// "checkMathDocument",
|
|
// };
|
|
// }
|
|
|
|
|
|
/**
|
|
* creates the mebmer <CODE>m_xMSF</CODE> and <CODE>m_SOF</CODE>
|
|
* @short Create the environment for following tests.
|
|
* @descr create an empty test frame, where we can load
|
|
* different components inside.
|
|
*/
|
|
@Before public void before() {
|
|
// create frame instance
|
|
try {
|
|
// get a soffice factory object
|
|
m_SOF = SOfficeFactory.getFactory(getMSF());
|
|
|
|
} catch(java.lang.Throwable ex) {
|
|
fail("Could not create the XUserInputInterception instance.");
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* closes the document
|
|
* @short close the document.
|
|
* @param xDoc the document to close
|
|
*/
|
|
public void closeDoc(XInterface xDoc) {
|
|
XCloseable xClose = UnoRuntime.queryInterface(XCloseable.class, xDoc);
|
|
try {
|
|
xClose.close(false);
|
|
} catch(com.sun.star.util.CloseVetoException exVeto) {
|
|
System.out.println("document couldn't be closed successfully.");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* creates a text document and check the <CODE>XMouseClickHandler</CODE> and
|
|
* <CODE>XKeyHandler</CODE>
|
|
* @see com.sun.star.awt.XKeyHandler
|
|
* @see com.sun.star.awt.XMouseClickHandler
|
|
*/
|
|
@Test public void checkTextDocument(){
|
|
|
|
XTextDocument xDoc = null;
|
|
|
|
try{
|
|
xDoc = m_SOF.createTextDoc("WriterTest");
|
|
} catch (com.sun.star.uno.Exception e){
|
|
fail("Could not create a text document: " +e.toString());
|
|
}
|
|
|
|
checkListener(xDoc);
|
|
|
|
closeDoc(xDoc);
|
|
}
|
|
|
|
/**
|
|
* creates an impress document and check the <CODE>XMouseClickHandler</CODE> and
|
|
* <CODE>XKeyHandler</CODE>
|
|
* @see com.sun.star.awt.XKeyHandler
|
|
* @see com.sun.star.awt.XMouseClickHandler
|
|
*/
|
|
@Test public void checkImpressDocument(){
|
|
|
|
XComponent xDoc = null;
|
|
|
|
try{
|
|
xDoc = m_SOF.createImpressDoc("ImpressTest");
|
|
} catch (com.sun.star.uno.Exception e){
|
|
fail("Could not create an impress document: " +e.toString());
|
|
}
|
|
|
|
checkListener(xDoc);
|
|
|
|
closeDoc(xDoc);
|
|
}
|
|
|
|
/**
|
|
* creates a chart document and check the <CODE>XMouseClickHandler</CODE> and
|
|
* <CODE>XKeyHandler</CODE>
|
|
* @see com.sun.star.awt.XKeyHandler
|
|
* @see com.sun.star.awt.XMouseClickHandler
|
|
*/
|
|
// TODO!
|
|
// @Test public void checkChartDocument(){
|
|
//
|
|
// XChartDocument xDoc = null;
|
|
//
|
|
// try{
|
|
// xDoc = m_SOF.createChartDoc("ChartTest");
|
|
// } catch (com.sun.star.uno.Exception e){
|
|
// fail("Could not create a chart document: " +e.toString());
|
|
// }
|
|
//
|
|
// checkListener(xDoc);
|
|
//
|
|
// closeDoc(xDoc);
|
|
// }
|
|
|
|
/**
|
|
* creates a math document and check the <CODE>XMouseClickHandler</CODE> and
|
|
* <CODE>XKeyHandler</CODE>
|
|
* @see com.sun.star.awt.XKeyHandler
|
|
* @see com.sun.star.awt.XMouseClickHandler
|
|
*/
|
|
@Test public void checkMathDocument(){
|
|
|
|
XComponent xDoc = null;
|
|
|
|
try{
|
|
xDoc = m_SOF.createMathDoc("MathTest");
|
|
} catch (com.sun.star.uno.Exception e){
|
|
fail("Could not create a math document: " +e.toString());
|
|
}
|
|
|
|
checkListener(xDoc);
|
|
|
|
closeDoc(xDoc);
|
|
}
|
|
|
|
/**
|
|
* creates a draw document and check the <CODE>XMouseClickHandler</CODE> and
|
|
* <CODE>XKeyHandler</CODE>
|
|
* @see com.sun.star.awt.XKeyHandler
|
|
* @see com.sun.star.awt.XMouseClickHandler
|
|
*/
|
|
@Test public void checkDrawDocument(){
|
|
|
|
XComponent xDoc = null;
|
|
|
|
try{
|
|
xDoc = m_SOF.createDrawDoc("DrawTest");
|
|
} catch (com.sun.star.uno.Exception e){
|
|
fail("Could not create a draw document: " +e.toString());
|
|
}
|
|
|
|
checkListener(xDoc);
|
|
|
|
closeDoc(xDoc);
|
|
}
|
|
|
|
/**
|
|
* creates a calc document and check the <CODE>XMouseClickHandler</CODE> and
|
|
* <CODE>XKeyHandler</CODE>
|
|
* @see com.sun.star.awt.XKeyHandler
|
|
* @see com.sun.star.awt.XMouseClickHandler
|
|
*/
|
|
@Test public void checkCalcDocument(){
|
|
|
|
XSpreadsheetDocument xDoc = null;
|
|
|
|
try{
|
|
xDoc = m_SOF.createCalcDoc("CalcTest");
|
|
} catch (com.sun.star.uno.Exception e){
|
|
fail("Could not create a calc document: " +e.toString());
|
|
}
|
|
|
|
checkListener(xDoc);
|
|
closeDoc(xDoc);
|
|
}
|
|
|
|
/**
|
|
* This is the central test method. It is called by ceck[DOCTYPE]Document. It
|
|
* creates the <CODE>XUserInputInterception</CODE> from the document and call the
|
|
* <CODE>checkMouseListener</CODE> test and the <CODE>checkKeyListener</CODE> test
|
|
* @param xDoc the document to test
|
|
*/
|
|
private void checkListener(XInterface xDoc){
|
|
|
|
XModel xModel = UnoRuntime.queryInterface(XModel.class, xDoc);
|
|
|
|
XUserInputInterception xUII = getUII(xModel);
|
|
|
|
checkMouseListener(xUII, xModel);
|
|
checkKeyListener(xUII, xModel);
|
|
}
|
|
|
|
/**
|
|
* Creates a <CODE>MyKeyHandler</CODE> and adds it to the
|
|
* <CODE>XUserInputInterception</CODE>. Then an <CODE>EventTrigger</CODE> thread
|
|
* was created and started.
|
|
* Has <CODE>OK</CODE> if the members <CODE>m_keyPressed</CODE> and
|
|
* <CODE>m_keyReleased</CODE> are <CODE>TRUE</CODE>
|
|
* @param xUII the XUserInputInterception
|
|
* @param xModel the XModel of a document
|
|
* @see EventTest.MyKeyHandler
|
|
* @see EventTest.EventTrigger
|
|
*/
|
|
private void checkKeyListener(XUserInputInterception xUII, XModel xModel) {
|
|
m_keyPressed = false;
|
|
m_keyReleased = false;
|
|
|
|
MyKeyHandler keyListener = new MyKeyHandler();
|
|
|
|
xUII.addKeyHandler(keyListener);
|
|
|
|
System.out.println("starting thread to check the key listener...");
|
|
EventTrigger et = new EventTrigger(xModel, EventTriggerType.KEY_TEXT_INTO_DOC);
|
|
|
|
et.run();
|
|
|
|
util.utils.shortWait(m_threadWait);
|
|
System.out.println("key listener thread should be finished.");
|
|
|
|
assertTrue("key event does not work!", m_keyPressed && m_keyReleased);
|
|
xUII.removeKeyHandler(keyListener);
|
|
|
|
}
|
|
|
|
/**
|
|
* Creates a <CODE>MyMouseClickHandler</CODE> and adds it to the
|
|
* <CODE>XUserInputInterception</CODE>. Then an <CODE>EventTrigger</CODE> thread
|
|
* was created and started.
|
|
* Has <CODE>OK</CODE> if the members <CODE>m_mousePressed</CODE> and
|
|
* <CODE>m_mouseReleased</CODE> are <CODE>TRUE</CODE>
|
|
* @param xUII the XUserInputInterception
|
|
* @param xModel the XModel of a document
|
|
* @see EventTest.MyMouseClickHandler
|
|
* @see EventTest.EventTrigger
|
|
*/
|
|
private void checkMouseListener(XUserInputInterception xUII, XModel xModel) {
|
|
|
|
m_mousePressed = false;
|
|
m_mouseReleased = false;
|
|
|
|
MyMouseClickHandler mouseListener = new MyMouseClickHandler();
|
|
|
|
xUII.addMouseClickHandler(mouseListener);
|
|
|
|
System.out.println("starting thread to check the mouse listener...");
|
|
EventTrigger et = new EventTrigger(xModel, EventTriggerType.MOUSE_KLICK_INTO_DOC);
|
|
|
|
et.run();
|
|
|
|
util.utils.shortWait(m_threadWait);
|
|
System.out.println("mouse listener thread should be finished.");
|
|
|
|
assertTrue("mouse event does not work!", m_mousePressed && m_mouseReleased);
|
|
xUII.removeMouseClickHandler(mouseListener);
|
|
}
|
|
|
|
/**
|
|
* returns the <CODE>XUserInputInterception</CODE> from the <CODE>XMdoel</CODE>
|
|
* @param xModel the XModel of a document
|
|
* @return the <CODE>XUserInputInterception</CODE> of the document
|
|
*/
|
|
private XUserInputInterception getUII(XModel xModel){
|
|
|
|
XController xController = xModel.getCurrentController();
|
|
|
|
XUserInputInterception xUII = UnoRuntime.queryInterface(XUserInputInterception.class, xController);
|
|
if (xUII == null) {
|
|
fail("could not get XUserInputInterception from XContoller");
|
|
}
|
|
return xUII;
|
|
}
|
|
|
|
/**
|
|
* Listener which added and its method must be called
|
|
* on <code>keyPressed</code> and <code>keyReleased</code> call.
|
|
*/
|
|
public class MyKeyHandler implements XKeyHandler {
|
|
/**
|
|
* This event sets the member <code>m_keyPressed</coed> to
|
|
* <code>true</code>
|
|
* @param oEvent The key event informs about the pressed key.
|
|
* @return returns <CODE>TRUE</CODE> in erery case
|
|
*/
|
|
public boolean keyPressed( KeyEvent oEvent ){
|
|
System.out.println("XKeyHandler: keyPressed-Event");
|
|
m_keyPressed = true;
|
|
return true;
|
|
}
|
|
/**
|
|
* This event sets the member <code>m_keyReleased</coed> to
|
|
* <code>true</code>
|
|
* @param oEvent The key event informs about the pressed key.
|
|
* @return returns <CODE>TRUE</CODE> in erery case
|
|
*/
|
|
public boolean keyReleased( KeyEvent oEvent ){
|
|
System.out.println("XKeyHandler: keyReleased-Event");
|
|
m_keyReleased = true;
|
|
return true;
|
|
}
|
|
/**
|
|
* This event does nothing useful
|
|
* @param oEvent refers to the object that fired the event.
|
|
*/
|
|
public void disposing( EventObject oEvent ){
|
|
System.out.println("XKeyHandler: disposing-Event");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Listener which added and its method must be called
|
|
* on <code>mousePressed</code> and <code>mouseReleased</code> call.
|
|
*/
|
|
public class MyMouseClickHandler implements XMouseClickHandler {
|
|
/**
|
|
* This event sets the member <code>m_mousePressed</coed> to
|
|
* <code>true</code>
|
|
* @param oEvent The mouse event informs about the kind of mouse event.
|
|
* @return returns <CODE>TRUE</CODE> in erery case
|
|
*/
|
|
public boolean mousePressed( MouseEvent oEvent ){
|
|
System.out.println("XMouseClickHandler: mousePressed-Event");
|
|
m_mousePressed = true;
|
|
return true;
|
|
}
|
|
/**
|
|
* This event sets the member <code>m_mouseReleased</coed> to
|
|
* <code>true</code>
|
|
* @param oEvent The mouse event informs about the kind of mouse event.
|
|
* @return returns <CODE>TRUE</CODE> in erery case
|
|
*/
|
|
public boolean mouseReleased( MouseEvent oEvent ){
|
|
System.out.println("XMouseClickHandler: mouseReleased-Event");
|
|
m_mouseReleased = true;
|
|
return true;
|
|
}
|
|
/**
|
|
* This event does nothing useful
|
|
* @param oEvent refers to the object that fired the event.
|
|
*/
|
|
public void disposing( EventObject oEvent ){
|
|
System.out.println("XMouseClickHandler: disposing-Event");
|
|
}
|
|
};
|
|
|
|
/**
|
|
* To check the events this class is a thread which click a mouse button and
|
|
* press a key with the <CODE>Robot</CODE> class
|
|
* @see java.awt.Robot
|
|
*/
|
|
private class EventTrigger extends Thread{
|
|
|
|
/**
|
|
* represents a <CODE>AccessibilityTools</CODE>
|
|
*/
|
|
private final AccessibilityTools at = new AccessibilityTools();
|
|
/**
|
|
* represents an <CODE>EventType</CODE>
|
|
* @see EventTest.EventTriggerType
|
|
*/
|
|
private int eventType = 0;
|
|
/**
|
|
* represents a <CODE>XModel</CODE> of a document
|
|
*/
|
|
private XModel xModel = null;
|
|
|
|
/**
|
|
* Creates an instacne of this class. The parameter <CODE>eType</CODE> represents
|
|
* the kind of event which will be triggert at <CODE>run()</CODE>
|
|
* @param model the model of a document
|
|
* @param eType the kind of event which should be trigger
|
|
*/
|
|
public EventTrigger(XModel model, int eType)
|
|
{
|
|
this.xModel = model;
|
|
this.eventType = eType;
|
|
}
|
|
|
|
/**
|
|
* Triggers the event which is represented by <CODE>eventType</CODE>
|
|
* The scenarios are:
|
|
* <ul>
|
|
* <li>EventTest.EventTriggerType.MOUSE_KLICK_INTO_DOC
|
|
* which calls
|
|
* <li><CODE>clickIntoDoc</CODE></LI>
|
|
* </LI>
|
|
* <li>EventTest.EventTriggerType.KEY_TEXT_INTO_DOC
|
|
* which calls
|
|
* <li><CODE>clickIntodoc</CODE></LI>
|
|
* <li><CODE>keyIntoDoc</CODE></LI>
|
|
* </LI>
|
|
* </UL>
|
|
*/
|
|
public void run(){
|
|
|
|
switch (this.eventType){
|
|
|
|
case EventTriggerType.MOUSE_KLICK_INTO_DOC:
|
|
clickIntoDoc();
|
|
break;
|
|
case EventTriggerType.KEY_TEXT_INTO_DOC:
|
|
clickIntoDoc();
|
|
keyIntoDoc();
|
|
break;
|
|
|
|
}
|
|
}
|
|
/**
|
|
* This method cklicks into the middel of a document. It uses Accessibility
|
|
* to get the document and query for its position and its range to calculate
|
|
* the middle. This values was used for <CODE>Robot</CODE> Class. This
|
|
* Robot class is able to move the mouse and to cklick a mouse button
|
|
* @see java.awt.Robot
|
|
*/
|
|
private void clickIntoDoc(){
|
|
try{
|
|
// get the position and the range of a scroll bar
|
|
|
|
XWindow xWindow = AccessibilityTools.getCurrentWindow(
|
|
getMSF(),
|
|
xModel);
|
|
|
|
XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
|
|
|
|
|
|
|
|
XAccessibleContext xPanel = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL);
|
|
XAccessibleComponent xPanelCont = UnoRuntime.queryInterface(XAccessibleComponent.class, xPanel);
|
|
|
|
// the position of the panel
|
|
Point point = xPanelCont.getLocationOnScreen();
|
|
|
|
// the range of the panel
|
|
Rectangle rect = xPanelCont.getBounds();
|
|
|
|
try {
|
|
Robot rob = new Robot();
|
|
int x = point.X + (rect.Width / 2);
|
|
int y = point.Y + (rect.Height / 2);
|
|
System.out.println("try to klick into the middle of the document");
|
|
rob.mouseMove(x, y);
|
|
rob.mousePress(InputEvent.BUTTON1_MASK);
|
|
rob.mouseRelease(InputEvent.BUTTON1_MASK);
|
|
} catch (java.awt.AWTException e) {
|
|
System.out.println("couldn't press mouse button");
|
|
}
|
|
} catch (java.lang.Exception e){
|
|
System.out.println("could not click into the scroll bar: " + e.toString());
|
|
}
|
|
}
|
|
|
|
/**
|
|
* This method press the "A" key. Therefore it uses the <CODE>Robot</CODE>
|
|
* class.
|
|
* @see java.awt.Robot
|
|
*/
|
|
private void keyIntoDoc(){
|
|
try {
|
|
Robot rob = new Robot();
|
|
System.out.println("try to press 'A'");
|
|
rob.keyPress(java.awt.event.KeyEvent.VK_A);
|
|
rob.keyRelease(java.awt.event.KeyEvent.VK_A);
|
|
} catch (java.awt.AWTException e) {
|
|
System.out.println("couldn't press key");
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
/** This interface represents all possible actions which could be used
|
|
* in the <CODE>EventTrigger</CODE> class.
|
|
* @see EventTest.EventTrigger
|
|
*/
|
|
private interface EventTriggerType{
|
|
|
|
/** klick the mouse into the scroll bar*/
|
|
final public static int MOUSE_KLICK_INTO_DOC = 1;
|
|
|
|
/** write some text into a spread sheet*/
|
|
final public static int KEY_TEXT_INTO_DOC = 2;
|
|
}
|
|
|
|
|
|
|
|
|
|
private XMultiServiceFactory getMSF()
|
|
{
|
|
final XMultiServiceFactory xMSF1 = UnoRuntime.queryInterface(XMultiServiceFactory.class, connection.getComponentContext().getServiceManager());
|
|
return xMSF1;
|
|
}
|
|
|
|
// setup and close connections
|
|
@BeforeClass public static void setUpConnection() throws Exception {
|
|
System.out.println("setUpConnection()");
|
|
connection.setUp();
|
|
}
|
|
|
|
@AfterClass public static void tearDownConnection()
|
|
throws InterruptedException, com.sun.star.uno.Exception
|
|
{
|
|
System.out.println("tearDownConnection()");
|
|
connection.tearDown();
|
|
}
|
|
|
|
private static final OfficeConnection connection = new OfficeConnection();
|
|
|
|
}
|