diff options
Diffstat (limited to '')
-rw-r--r-- | offapi/com/sun/star/embed/XInplaceClient.idl | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/offapi/com/sun/star/embed/XInplaceClient.idl b/offapi/com/sun/star/embed/XInplaceClient.idl new file mode 100644 index 000000000..c92aa36d4 --- /dev/null +++ b/offapi/com/sun/star/embed/XInplaceClient.idl @@ -0,0 +1,194 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ +#ifndef __com_sun_star_embed_XInplaceClient_idl__ +#define __com_sun_star_embed_XInplaceClient_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/frame/XDispatchProvider.idl> +#include <com/sun/star/frame/XLayoutManager.idl> +#include <com/sun/star/awt/XWindow.idl> +#include <com/sun/star/awt/Rectangle.idl> +#include <com/sun/star/awt/Size.idl> +#include <com/sun/star/awt/KeyEvent.idl> +#include <com/sun/star/embed/WrongStateException.idl> + + + + module com { module sun { module star { module embed { + +/** represents common functionality for inplace clients. + */ +interface XInplaceClient: com::sun::star::uno::XInterface +{ + /** checks if the container can activate the object inplace. + + @return + `TRUE` the container can activate the object inplace. + `FALSE` otherwise. + */ + boolean canInplaceActivate(); + + /** notifies container through the client that the object is to be + inplace activated. + + @throws com::sun::star::embed::WrongStateException + the container is not ready for activation + */ + void activatingInplace() + raises( ::com::sun::star::embed::WrongStateException ); + + /** notifies container through the client that the object is to be + UI-activated. + + @throws com::sun::star::embed::WrongStateException + the container is not ready for activation + */ + void activatingUI() + raises( ::com::sun::star::embed::WrongStateException ); + + /** notifies container through the client that the object is deactivated. + + @throws com::sun::star::embed::WrongStateException + the container is not ready for deactivation + */ + void deactivatedInplace() + raises( ::com::sun::star::embed::WrongStateException ); + + /** notifies container through the client that the object is + UI-deactivated. + + <p> + After this notification the container can restore its own UI and take focus. + </p> + + @throws com::sun::star::embed::WrongStateException + the container is not ready for deactivation + */ + void deactivatedUI() + raises( ::com::sun::star::embed::WrongStateException ); + + /** allows to retrieve the + com::sun::star::frame::LayoutManager of the + container. + + @return + reference to object representing the + com::sun::star::frame::LayoutManager of the + container + + @throws com::sun::star::embed::WrongStateException + the object is in unexpected state to make such request + */ + ::com::sun::star::frame::XLayoutManager getLayoutManager() + raises( ::com::sun::star::embed::WrongStateException ); + + /** allows to retrieve the container's dispatch provider. + + @return + reference to object implementing the + com::sun::star::frame::XDispatchProvider + + @throws com::sun::star::embed::WrongStateException + the object is in unexpected state to make such request + */ + ::com::sun::star::frame::XDispatchProvider getInplaceDispatchProvider() + raises( ::com::sun::star::embed::WrongStateException ); + + /** gets the inplace object position rectangle. + + <p> + The rectangle is provided in object's parent window coordinates in + pixels. The intersection of position and clip rectangles specifies + the visible part of the object. In case the position window has a size + that is bigger than object's size, the object should either scale or + deactivate. + </p> + + @return + specifies a new position rectangle + + @throws com::sun::star::embed::WrongStateException + the object is in unexpected state to make such request + */ + ::com::sun::star::awt::Rectangle getPlacement() + raises( ::com::sun::star::embed::WrongStateException ); + + /** gets the inplace object clip rectangle. + + <p> + The rectangle is provided in object's parent window coordinates in + pixels. The intersection of position and clip rectangles specifies + the visible part of the object. + </p> + + @return + specifies a new clip rectangle + + @throws com::sun::star::embed::WrongStateException + the object is in unexpected state to make such request + */ + ::com::sun::star::awt::Rectangle getClipRectangle() + raises( ::com::sun::star::embed::WrongStateException ); + + /** provides accelerator table the object wants to use while it is + inplace active. + + @param aKeys + an accelerator table from object + + @throws com::sun::star::embed::WrongStateException + the object is in unexpected state + */ + void translateAccelerators( [in] sequence< ::com::sun::star::awt::KeyEvent > aKeys ) + raises( ::com::sun::star::embed::WrongStateException ); + + /** scrolls the object. + + @param aOffset + scrolls the object to specified offset in pixels + + @throws com::sun::star::embed::WrongStateException + the object is in unexpected state + */ + void scrollObject( [in] ::com::sun::star::awt::Size aOffset ) + raises( ::com::sun::star::embed::WrongStateException ); + + /** notifies the container that the position of the object is changed. + + @param aPosRect + specifies a new position rectangle + + @throws com::sun::star::embed::WrongStateException + the object state is not correct + + @throws com::sun::star::uno::Exception + in case of other problems + */ + void changedPlacement( [in] ::com::sun::star::awt::Rectangle aPosRect ) + raises( ::com::sun::star::embed::WrongStateException, + ::com::sun::star::uno::Exception ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |