From 10e580c57b907420e8c6d816325445a40a720e4a Mon Sep 17 00:00:00 2001 From: Thomas Arnhold Date: Sat, 18 Feb 2012 22:16:30 +0100 Subject: Revert "offapi: remove obsolete XInplaceLayout" This reverts commit 5ca858c01cb2e2aa93c8aca65fd271a900785e3f. This change implicates some more changes in layoutmanager.hxx see ::cppu::WeakImplHelper8. So keep it... --- framework/inc/services/layoutmanager.hxx | 6 ++ framework/source/layoutmanager/layoutmanager.cxx | 14 +++++ offapi/UnoApi_offapi.mk | 1 + offapi/com/sun/star/frame/LayoutManager.idl | 7 +++ offapi/com/sun/star/frame/XInplaceLayout.idl | 68 ++++++++++++++++++++++ .../com.sun.star.comp.framework.LayoutManager.csv | 2 + qadevOOo/tests/java/ifc/frame/_XInplaceLayout.java | 48 +++++++++++++++ 7 files changed, 146 insertions(+) create mode 100644 offapi/com/sun/star/frame/XInplaceLayout.idl create mode 100644 qadevOOo/tests/java/ifc/frame/_XInplaceLayout.java diff --git a/framework/inc/services/layoutmanager.hxx b/framework/inc/services/layoutmanager.hxx index 9c9d5455381b..84931a3ed952 100644 --- a/framework/inc/services/layoutmanager.hxx +++ b/framework/inc/services/layoutmanager.hxx @@ -160,6 +160,12 @@ namespace framework virtual void SAL_CALL setVisible( sal_Bool bVisible ) throw (::com::sun::star::uno::RuntimeException); virtual sal_Bool SAL_CALL isVisible() throw (::com::sun::star::uno::RuntimeException); + //--------------------------------------------------------------------------------------------------------- + // XInplaceLayout + //--------------------------------------------------------------------------------------------------------- + virtual void SAL_CALL setInplaceMenuBar( sal_Int64 pInplaceMenuBarPointer ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL resetInplaceMenuBar( ) throw (::com::sun::star::uno::RuntimeException); + //--------------------------------------------------------------------------------------------------------- // XMenuBarMergingAcceptor //--------------------------------------------------------------------------------------------------------- diff --git a/framework/source/layoutmanager/layoutmanager.cxx b/framework/source/layoutmanager/layoutmanager.cxx index 63a1569b859c..0020a2eaf4b6 100644 --- a/framework/source/layoutmanager/layoutmanager.cxx +++ b/framework/source/layoutmanager/layoutmanager.cxx @@ -26,12 +26,14 @@ * ************************************************************************/ + // my own includes #include #include #include #include +#include #include #include #include @@ -1242,6 +1244,18 @@ throw (RuntimeException) implts_reset( sal_True ); } +void SAL_CALL LayoutManager::setInplaceMenuBar( sal_Int64 ) +throw (uno::RuntimeException) +{ + OSL_FAIL( "This method is obsolete and should not be used!\n" ); +} + +void SAL_CALL LayoutManager::resetInplaceMenuBar() +throw (uno::RuntimeException) +{ + OSL_FAIL( "This method is obsolete and should not be used!\n" ); +} + //--------------------------------------------------------------------------------------------------------- // XMenuBarMergingAcceptor //--------------------------------------------------------------------------------------------------------- diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk index b5a696a69d69..1220adc1734a 100644 --- a/offapi/UnoApi_offapi.mk +++ b/offapi/UnoApi_offapi.mk @@ -2516,6 +2516,7 @@ $(eval $(call gb_UnoApiTarget_add_idlfiles,offapi,offapi/com/sun/star/frame,\ XFrameSetModel \ XFrames \ XFramesSupplier \ + XInplaceLayout \ XInterceptorInfo \ XLayoutManager \ XLayoutManagerEventBroadcaster \ diff --git a/offapi/com/sun/star/frame/LayoutManager.idl b/offapi/com/sun/star/frame/LayoutManager.idl index 9e30376ad717..aee70e7c7dbd 100644 --- a/offapi/com/sun/star/frame/LayoutManager.idl +++ b/offapi/com/sun/star/frame/LayoutManager.idl @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -99,6 +100,12 @@ service LayoutManager */ [optional] interface ::com::sun::star::frame::XLayoutManagerEventBroadcaster; + /** interface to support settings a menu bar for inplace editing of + components inside OpenOffice.org. + + @deprecated + */ + [optional] interface ::com::sun::star::frame::XInplaceLayout; }; }; }; }; }; diff --git a/offapi/com/sun/star/frame/XInplaceLayout.idl b/offapi/com/sun/star/frame/XInplaceLayout.idl new file mode 100644 index 000000000000..aeeeadda8e08 --- /dev/null +++ b/offapi/com/sun/star/frame/XInplaceLayout.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_XInplaceLayout_idl__ +#define __com_sun_star_frame_XInplaceLayout_idl__ + +#include + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= + +/** special interface to support inplace editing of components inside + OpenOffice.org. + + @deprecated + + @since OOo 2.0 +*/ + +interface XInplaceLayout : com::sun::star::uno::XInterface +{ + /** sets an inplace menu to the container window of the attached frame. + + @param InplaceMenuBarPointer + must be a VCL menu bar pointer which is accessible within the + layout manager process. + */ + void setInplaceMenuBar( [in] hyper InplaceMenuBarPointer ); + + /** removes an inplace menu and sets back a previously created menu bar if one + has been set before. + */ + void resetInplaceMenuBar(); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.LayoutManager.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.LayoutManager.csv index f45c6bcc32d6..af47fcb9f0dd 100755 --- a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.LayoutManager.csv +++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.LayoutManager.csv @@ -1,4 +1,6 @@ "LayoutManager";"com::sun::star::lang::XEventListener";"disposing()" +"LayoutManager";"com::sun::star::frame::XInplaceLayout#optional";"setInplaceMenuBar()" +"LayoutManager";"com::sun::star::frame::XInplaceLayout#optional";"resetInplaceMenuBar()" "LayoutManager";"com::sun::star::frame::XLayoutManager";"attachFrame()" "LayoutManager";"com::sun::star::frame::XLayoutManager";"reset()" "LayoutManager";"com::sun::star::frame::XLayoutManager";"getCurrentDockingArea()" diff --git a/qadevOOo/tests/java/ifc/frame/_XInplaceLayout.java b/qadevOOo/tests/java/ifc/frame/_XInplaceLayout.java new file mode 100644 index 000000000000..2d644d2b2391 --- /dev/null +++ b/qadevOOo/tests/java/ifc/frame/_XInplaceLayout.java @@ -0,0 +1,48 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +package ifc.frame; + +import com.sun.star.frame.XInplaceLayout; +import lib.MultiMethodTest; + +public class _XInplaceLayout extends MultiMethodTest { + public XInplaceLayout oObj = null; + + public void _setInplaceMenuBar() { + log.print("This method exists for inplace editing with own modules. "); + log.println("It makes no sense to call it from Java."); +// oObj.setInplaceMenuBar(l); + tRes.tested("setInplaceMenuBar()", true); + } + + public void _resetInplaceMenuBar() { + requiredMethod("setInplaceMenuBar()"); + oObj.resetInplaceMenuBar(); + tRes.tested("resetInplaceMenuBar()", true); + } +} -- cgit v1.2.3