[Libreoffice-commits] core.git: 14 commits - framework/inc framework/Library_fwk.mk framework/Library_fwl.mk framework/source framework/util include/framework include/sfx2 include/svtools include/toolkit include/vcl offapi/com offapi/UnoApi_offapi.mk officecfg/registry reportdesign/source sfx2/source svtools/source toolkit/source vcl/generic vcl/source
Ariel Constenla-Haile
arielch at apache.org
Tue May 21 06:03:20 PDT 2013
framework/Library_fwk.mk | 3
framework/Library_fwl.mk | 3
framework/inc/classes/resource.hrc | 4
framework/inc/services.h | 3
framework/inc/uielement/genericstatusbarcontroller.hxx | 57 ++
framework/inc/uielement/langselectionstatusbarcontroller.hxx | 22
framework/inc/uielement/logoimagestatusbarcontroller.hxx | 82 ---
framework/inc/uielement/logotextstatusbarcontroller.hxx | 82 ---
framework/inc/uielement/simpletextstatusbarcontroller.hxx | 84 ---
framework/inc/uielement/statusbaritem.hxx | 79 +++
framework/inc/uielement/statusbarmanager.hxx | 5
framework/inc/uielement/statusbarmerger.hxx | 81 +++
framework/source/classes/resource.src | 11
framework/source/fwe/classes/addonsoptions.cxx | 236 ++++++++-
framework/source/register/registerservices.cxx | 1
framework/source/register/registertemp.cxx | 6
framework/source/uielement/genericstatusbarcontroller.cxx | 163 ++++++
framework/source/uielement/langselectionstatusbarcontroller.cxx | 176 +-----
framework/source/uielement/logoimagestatusbarcontroller.cxx | 167 ------
framework/source/uielement/logotextstatusbarcontroller.cxx | 170 ------
framework/source/uielement/simpletextstatusbarcontroller.cxx | 186 -------
framework/source/uielement/statusbaritem.cxx | 257 +++++++++
framework/source/uielement/statusbarmanager.cxx | 248 +++++++--
framework/source/uielement/statusbarmerger.cxx | 258 ++++++++++
framework/source/uielement/toolbarmerger.cxx | 50 -
framework/util/fwl.component | 9
include/framework/addonsoptions.hxx | 22
include/sfx2/stbitem.hxx | 8
include/svtools/statusbarcontroller.hxx | 15
include/toolkit/awt/vclxgraphics.hxx | 80 +--
include/vcl/status.hxx | 15
offapi/UnoApi_offapi.mk | 3
offapi/com/sun/star/awt/ImageDrawMode.idl | 55 ++
offapi/com/sun/star/awt/XGraphics.idl | 44 -
offapi/com/sun/star/awt/XGraphics2.idl | 79 +++
offapi/com/sun/star/frame/StatusbarController.idl | 72 --
offapi/com/sun/star/frame/XStatusbarController.idl | 82 ++-
offapi/com/sun/star/ui/XStatusbarItem.idl | 111 ++++
officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu | 22
officecfg/registry/schema/org/openoffice/Office/Addons.xcs | 107 ++++
reportdesign/source/ui/inc/statusbarcontroller.hxx | 15
reportdesign/source/ui/misc/statusbarcontroller.cxx | 64 +-
sfx2/source/statbar/stbitem.cxx | 7
svtools/source/uno/statusbarcontroller.cxx | 73 +-
toolkit/source/awt/vclxgraphics.cxx | 173 +++++-
vcl/generic/fontmanager/fontconfig.cxx | 14
vcl/source/window/status.cxx | 175 ++++++
47 files changed, 2296 insertions(+), 1383 deletions(-)
New commits:
commit f59d23fedc89890f47eac3b05f54bdcb7325f7af
Author: Ariel Constenla-Haile <arielch at apache.org>
Date: Fri Dec 7 04:19:15 2012 +0000
Remove unused commented code
(cherry picked from commit d8933b9c61e3e15f788f43043975f48d9d5b6cfd)
Change-Id: I9856e1f26f9467c281ebaabe3d520e4fa59163c4
diff --git a/framework/source/uielement/statusbarmerger.cxx b/framework/source/uielement/statusbarmerger.cxx
index b0e9624..098c621 100644
--- a/framework/source/uielement/statusbarmerger.cxx
+++ b/framework/source/uielement/statusbarmerger.cxx
@@ -168,17 +168,6 @@ static bool lcl_RemoveItems( StatusBar* pStatusbar,
return true;
}
-/*
-static ::cppu::OWeakObject* CreateController(
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xSMGR,
- ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xFrame,
- StatusBar* pStatusbar,
- const ::rtl::OUString& rCommandURL,
- sal_uInt16 nId,
- sal_uInt16 nWidth,
- const ::rtl::OUString& rControlType );
-
-*/
}
bool StatusbarMerger::IsCorrectContext(
commit 3f0dbd2cbe17f276ac3b2445ac76ff0cafc260c6
Author: Ariel Constenla-Haile <arielch at apache.org>
Date: Fri Dec 7 04:14:25 2012 +0000
Fix build breaker: missing css::uno::XInterface include
(cherry picked from commit 9a421d5c9c0fd4f04c08c10e24275255fdf34f83)
Change-Id: I27c4602a5144fddb18190698d0928b9b96af8a9b
diff --git a/offapi/com/sun/star/ui/XStatusbarItem.idl b/offapi/com/sun/star/ui/XStatusbarItem.idl
index 182af2f..5bb6791 100644
--- a/offapi/com/sun/star/ui/XStatusbarItem.idl
+++ b/offapi/com/sun/star/ui/XStatusbarItem.idl
@@ -18,6 +18,7 @@
#ifndef __com_sun_star_ui_XStatusbarItem_idl__
#define __com_sun_star_ui_XStatusbarItem_idl__
+#include <com/sun/star/uno/XInterface.idl>
#include <com/sun/star/awt/Rectangle.idl>
module com { module sun { module star { module ui {
commit 4fcda14828d2fa65cc2541ed3e3cb93dd7bc9ac8
Author: Ariel Constenla-Haile <arielch at apache.org>
Date: Thu Dec 6 12:30:14 2012 +0000
Related: #i121442# Remove unused UNO StatusbarControllers
(cherry picked from commit 06b91eb4cc81dde86875445c5acaa5c57111333b)
Conflicts:
framework/inc/uielement/logoimagestatusbarcontroller.hxx
framework/inc/uielement/logotextstatusbarcontroller.hxx
framework/inc/uielement/simpletextstatusbarcontroller.hxx
framework/source/classes/resource.src
framework/source/register/registerservices.cxx
framework/source/uielement/logoimagestatusbarcontroller.cxx
framework/source/uielement/logotextstatusbarcontroller.cxx
framework/source/uielement/simpletextstatusbarcontroller.cxx
officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu
Change-Id: I799bd0fa29191efce4fe9a09f74247e38d8f8873
diff --git a/framework/Library_fwl.mk b/framework/Library_fwl.mk
index fb8b385..afcb77c 100644
--- a/framework/Library_fwl.mk
+++ b/framework/Library_fwl.mk
@@ -66,12 +66,9 @@ $(eval $(call gb_Library_add_exception_objects,fwl,\
framework/source/uielement/footermenucontroller \
framework/source/uielement/headermenucontroller \
framework/source/uielement/langselectionmenucontroller \
- framework/source/uielement/logoimagestatusbarcontroller \
- framework/source/uielement/logotextstatusbarcontroller \
framework/source/uielement/macrosmenucontroller \
framework/source/uielement/newmenucontroller \
framework/source/uielement/popupmenucontroller \
- framework/source/uielement/simpletextstatusbarcontroller \
framework/source/uielement/toolbarsmenucontroller \
))
diff --git a/framework/inc/classes/resource.hrc b/framework/inc/classes/resource.hrc
index 8d1d236..673e90d 100644
--- a/framework/inc/classes/resource.hrc
+++ b/framework/inc/classes/resource.hrc
@@ -33,7 +33,7 @@
#define STR_SAVECOPYDOC (RID_STR_START+5)
#define STR_NODOCUMENT (RID_STR_START+6)
#define STR_TOOLBAR_TITLE_ADDON (RID_STR_START+7)
-#define STR_STATUSBAR_LOGOTEXT (RID_STR_START+8)
+
#define STR_FULL_DISC_RETRY_BUTTON (RID_STR_START+9) // used by AuotSave to show error state: full disc
#define STR_FULL_DISC_MSG (RID_STR_START+10) // used by AuotSave to show error state: full disc
#define STR_RESTORE_TOOLBARS (RID_STR_START+11)
@@ -60,8 +60,6 @@
#define MENUITEM_TOOLBAR_LOCKTOOLBARPOSITION 5
#define MENUITEM_TOOLBAR_CLOSE 6
-#define RID_IMAGE_STATUSBAR_LOGO (RID_IMAGE_START+0)
-
// License Dialog
#define DLG_LICENSE (RID_FWK_DIALOG_START+256)
#define ML_LICENSE (RID_FWK_DIALOG_START+11)
diff --git a/framework/inc/services.h b/framework/inc/services.h
index cda8d13..cd3eb2b 100644
--- a/framework/inc/services.h
+++ b/framework/inc/services.h
@@ -108,13 +108,10 @@ namespace framework{
#define IMPLEMENTATIONNAME_SESSIONLISTENER DECLARE_ASCII("com.sun.star.comp.frame.SessionListener" )
#define IMPLEMENTATIONNAME_HELPONSTARTUP DECLARE_ASCII("com.sun.star.comp.framework.HelpOnStartup" )
#define IMPLEMENTATIONNAME_SHELLJOB DECLARE_ASCII("com.sun.star.comp.framework.ShellJob" )
-#define IMPLEMENTATIONNAME_LOGOIMAGESTATUSBARCONTROLLER DECLARE_ASCII("com.sun.star.comp.framework.LogoImageStatusbarController" )
-#define IMPLEMENTATIONNAME_LOGOTEXTSTATUSBARCONTROLLER DECLARE_ASCII("com.sun.star.comp.framework.LogoTextStatusbarController" )
#define IMPLEMENTATIONNAME_FWK_TASKCREATOR DECLARE_ASCII("com.sun.star.comp.framework.TaskCreator" )
#define IMPLEMENTATIONNAME_TABWINFACTORY DECLARE_ASCII("com.sun.star.comp.framework.TabWindowFactory" )
#define IMPLEMENTATIONNAME_TABWINDOW DECLARE_ASCII("com.sun.star.comp.framework.TabWindow" )
#define IMPLEMENTATIONNAME_SYSTEMEXEC DECLARE_ASCII("com.sun.star.comp.framework.SystemExecute" )
-#define IMPLEMENTATIONNAME_SIMPLETEXTSTATUSBARCONTROLLER DECLARE_ASCII("com.sun.star.comp.framework.SimpleTextStatusbarController" )
#define IMPLEMENTATIONNAME_URIABBREVIATION DECLARE_ASCII("com.sun.star.comp.framework.UriAbbreviation" )
#define IMPLEMENTATIONNAME_POPUPMENUDISPATCHER DECLARE_ASCII("com.sun.star.comp.framework.PopupMenuControllerDispatcher" )
#define IMPLEMENTATIONNAME_LANGSELECTIONSTATUSBARCONTROLLER DECLARE_ASCII("com.sun.star.comp.framework.LangSelectionStatusbarController" )
diff --git a/framework/inc/uielement/logoimagestatusbarcontroller.hxx b/framework/inc/uielement/logoimagestatusbarcontroller.hxx
deleted file mode 100644
index 3492c8a..0000000
--- a/framework/inc/uielement/logoimagestatusbarcontroller.hxx
+++ /dev/null
@@ -1,82 +0,0 @@
-/* -*- 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 __FRAMEWORK_UIELEMENT_LOGOIMAGESTATUSBARCONTROLLER_HXX_
-#define __FRAMEWORK_UIELEMENT_LOGOIMAGESTATUSBARCONTROLLER_HXX_
-
-#include <macros/generic.hxx>
-#include <macros/xinterface.hxx>
-#include <macros/xtypeprovider.hxx>
-#include <macros/xserviceinfo.hxx>
-#include <stdtypes.h>
-#include <svtools/statusbarcontroller.hxx>
-#include <vcl/image.hxx>
-
-namespace framework
-{
-
-class LogoImageStatusbarController : public svt::StatusbarController
-{
- public:
- LogoImageStatusbarController( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceManager );
- virtual ~LogoImageStatusbarController();
-
- // XServiceInfo
- DECLARE_XSERVICEINFO
-
- // XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL acquire() throw ();
- virtual void SAL_CALL release() throw ();
-
- // XInitialization
- virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
-
- // XComponent
- virtual void SAL_CALL dispose() throw ( ::com::sun::star::uno::RuntimeException );
-
- // XEventListener
- virtual void SAL_CALL disposing( const com::sun::star::lang::EventObject& Source ) throw ( ::com::sun::star::uno::RuntimeException );
-
- // XStatusListener
- virtual void SAL_CALL statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw ( ::com::sun::star::uno::RuntimeException );
-
- // XStatusbarController
- virtual ::sal_Bool SAL_CALL mouseButtonDown( const ::com::sun::star::awt::MouseEvent& aMouseEvent ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::sal_Bool SAL_CALL mouseMove( const ::com::sun::star::awt::MouseEvent& aMouseEvent ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::sal_Bool SAL_CALL mouseButtonUp( const ::com::sun::star::awt::MouseEvent& aMouseEvent ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL command( const ::com::sun::star::awt::Point& aPos,
- ::sal_Int32 nCommand,
- ::sal_Bool bMouseEvent,
- const ::com::sun::star::uno::Any& aData ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL paint( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XGraphics >& xGraphics,
- const ::com::sun::star::awt::Rectangle& rOutputRectangle,
- ::sal_Int32 nItemId, ::sal_Int32 nStyle ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL click() throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL doubleClick() throw (::com::sun::star::uno::RuntimeException);
-
- private:
- Image m_aLogoImage;
-};
-
-}
-
-#endif // __FRAMEWORK_UIELEMENT_LOGOIMAGESTATUSBARCONTROLLER_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/inc/uielement/logotextstatusbarcontroller.hxx b/framework/inc/uielement/logotextstatusbarcontroller.hxx
deleted file mode 100644
index 4b52656..0000000
--- a/framework/inc/uielement/logotextstatusbarcontroller.hxx
+++ /dev/null
@@ -1,82 +0,0 @@
-/* -*- 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 __FRAMEWORK_UIELEMENT_LOGOTEXTSTATUSBARCONTROLLER_HXX_
-#define __FRAMEWORK_UIELEMENT_LOGOTEXTSTATUSBARCONTROLLER_HXX_
-
-#include <macros/generic.hxx>
-#include <macros/xinterface.hxx>
-#include <macros/xtypeprovider.hxx>
-#include <macros/xserviceinfo.hxx>
-#include <stdtypes.h>
-#include <svtools/statusbarcontroller.hxx>
-#include <vcl/image.hxx>
-
-namespace framework
-{
-
-class LogoTextStatusbarController : public svt::StatusbarController
-{
- public:
- LogoTextStatusbarController( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceManager );
- virtual ~LogoTextStatusbarController();
-
- // XServiceInfo
- DECLARE_XSERVICEINFO
-
- // XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL acquire() throw ();
- virtual void SAL_CALL release() throw ();
-
- // XInitialization
- virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
-
- // XComponent
- virtual void SAL_CALL dispose() throw ( ::com::sun::star::uno::RuntimeException );
-
- // XEventListener
- virtual void SAL_CALL disposing( const com::sun::star::lang::EventObject& Source ) throw ( ::com::sun::star::uno::RuntimeException );
-
- // XStatusListener
- virtual void SAL_CALL statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw ( ::com::sun::star::uno::RuntimeException );
-
- // XStatusbarController
- virtual ::sal_Bool SAL_CALL mouseButtonDown( const ::com::sun::star::awt::MouseEvent& aMouseEvent ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::sal_Bool SAL_CALL mouseMove( const ::com::sun::star::awt::MouseEvent& aMouseEvent ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::sal_Bool SAL_CALL mouseButtonUp( const ::com::sun::star::awt::MouseEvent& aMouseEvent ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL command( const ::com::sun::star::awt::Point& aPos,
- ::sal_Int32 nCommand,
- ::sal_Bool bMouseEvent,
- const ::com::sun::star::uno::Any& aData ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL paint( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XGraphics >& xGraphics,
- const ::com::sun::star::awt::Rectangle& rOutputRectangle,
- ::sal_Int32 nItemId, ::sal_Int32 nStyle ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL click() throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL doubleClick() throw (::com::sun::star::uno::RuntimeException);
-
- private:
- OUString m_aLogoText;
-};
-
-}
-
-#endif // __FRAMEWORK_UIELEMENT_LOGOTEXTSTATUSBARCONTROLLER_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/inc/uielement/simpletextstatusbarcontroller.hxx b/framework/inc/uielement/simpletextstatusbarcontroller.hxx
deleted file mode 100644
index a40d122..0000000
--- a/framework/inc/uielement/simpletextstatusbarcontroller.hxx
+++ /dev/null
@@ -1,84 +0,0 @@
-/* -*- 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 __FRAMEWORK_UIELEMENT_SIMPLETEXTSTATUSBARCONTROLLER_HXX_
-#define __FRAMEWORK_UIELEMENT_SIMPLETEXTSTATUSBARCONTROLLER_HXX_
-
-#include <macros/generic.hxx>
-#include <macros/xinterface.hxx>
-#include <macros/xtypeprovider.hxx>
-#include <macros/xserviceinfo.hxx>
-#include <stdtypes.h>
-
-#include <boost/unordered_map.hpp>
-#include <svtools/statusbarcontroller.hxx>
-#include <vcl/image.hxx>
-
-namespace framework
-{
-
-class SimpleTextStatusbarController : public svt::StatusbarController
-{
- public:
- SimpleTextStatusbarController( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceManager );
- virtual ~SimpleTextStatusbarController();
-
- // XServiceInfo
- DECLARE_XSERVICEINFO
-
- // XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL acquire() throw ();
- virtual void SAL_CALL release() throw ();
-
- // XInitialization
- virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
-
- // XComponent
- virtual void SAL_CALL dispose() throw ( ::com::sun::star::uno::RuntimeException );
-
- // XEventListener
- virtual void SAL_CALL disposing( const com::sun::star::lang::EventObject& Source ) throw ( ::com::sun::star::uno::RuntimeException );
-
- // XStatusListener
- virtual void SAL_CALL statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw ( ::com::sun::star::uno::RuntimeException );
-
- // XStatusbarController
- virtual ::sal_Bool SAL_CALL mouseButtonDown( const ::com::sun::star::awt::MouseEvent& aMouseEvent ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::sal_Bool SAL_CALL mouseMove( const ::com::sun::star::awt::MouseEvent& aMouseEvent ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::sal_Bool SAL_CALL mouseButtonUp( const ::com::sun::star::awt::MouseEvent& aMouseEvent ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL command( const ::com::sun::star::awt::Point& aPos,
- ::sal_Int32 nCommand,
- ::sal_Bool bMouseEvent,
- const ::com::sun::star::uno::Any& aData ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL paint( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XGraphics >& xGraphics,
- const ::com::sun::star::awt::Rectangle& rOutputRectangle,
- ::sal_Int32 nItemId, ::sal_Int32 nStyle ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL click() throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL doubleClick() throw (::com::sun::star::uno::RuntimeException);
-
- private:
- OUString m_aText;
-};
-
-}
-
-#endif // __FRAMEWORK_UIELEMENT_SIMPLETEXTSTATUSBARCONTROLLER_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/source/classes/resource.src b/framework/source/classes/resource.src
index 24874e5..8b1587a 100644
--- a/framework/source/classes/resource.src
+++ b/framework/source/classes/resource.src
@@ -119,11 +119,6 @@ String STR_TOOLBAR_TITLE_ADDON
Text [ en-US ] = "Add-On %num%";
};
-String STR_STATUSBAR_LOGOTEXT
-{
- Text [ en-US ] = "A %PRODUCTNAME product by %OOOVENDOR";
-};
-
// ***********************************************************************
// License Dialog
// ***********************************************************************
@@ -273,12 +268,6 @@ ModalDialog DLG_LICENSE
};
-Image RID_IMAGE_STATUSBAR_LOGO
-{
- ImageBitmap = Bitmap { File = "logo.png" ; };
- MaskColor = Color { Red = 0xFFFF; Green = 0x0000; Blue = 0xFFFF; };
-};
-
String STR_FULL_DISC_RETRY_BUTTON
{
Text [ en-US ] = "Retry" ;
diff --git a/framework/source/register/registerservices.cxx b/framework/source/register/registerservices.cxx
index 33ce118..8d9c058 100644
--- a/framework/source/register/registerservices.cxx
+++ b/framework/source/register/registerservices.cxx
@@ -66,6 +66,7 @@
#include <uiconfiguration/uicategorydescription.hxx>
#include <services/sessionlistener.hxx>
#include <services/taskcreatorsrv.hxx>
+
#include <uielement/langselectionstatusbarcontroller.hxx>
#include <uiconfiguration/imagemanager.hxx>
#include <uifactory/windowcontentfactorymanager.hxx>
diff --git a/framework/source/register/registertemp.cxx b/framework/source/register/registertemp.cxx
index 9d9e673..1f0967d 100644
--- a/framework/source/register/registertemp.cxx
+++ b/framework/source/register/registertemp.cxx
@@ -42,9 +42,6 @@
#include <recording/dispatchrecordersupplier.hxx>
#include <services/license.hxx>
#include <services/uriabbreviation.hxx>
-#include <uielement/simpletextstatusbarcontroller.hxx>
-#include <uielement/logoimagestatusbarcontroller.hxx>
-#include <uielement/logotextstatusbarcontroller.hxx>
#include <uielement/fontmenucontroller.hxx>
#include <uielement/fontsizemenucontroller.hxx>
#include <uielement/footermenucontroller.hxx>
@@ -59,14 +56,11 @@ COMPONENTGETFACTORY ( fwl,
IFFACTORY( ::framework::MediaTypeDetectionHelper )
IFFACTORY( ::framework::MailToDispatcher ) else
IFFACTORY( ::framework::ServiceHandler ) else
- IFFACTORY( ::framework::LogoTextStatusbarController ) else
- IFFACTORY( ::framework::LogoImageStatusbarController ) else
IFFACTORY( ::framework::License ) else
IFFACTORY( ::framework::PopupMenuDispatcher ) else
IFFACTORY( ::framework::DispatchHelper ) else
IFFACTORY( ::framework::DispatchRecorder ) else
IFFACTORY( ::framework::DispatchRecorderSupplier ) else
- IFFACTORY( ::framework::SimpleTextStatusbarController ) else
IFFACTORY( ::framework::ToolbarsMenuController ) else
IFFACTORY( ::framework::FontMenuController ) else
IFFACTORY( ::framework::MacrosMenuController ) else
diff --git a/framework/source/uielement/logoimagestatusbarcontroller.cxx b/framework/source/uielement/logoimagestatusbarcontroller.cxx
deleted file mode 100644
index f2032c7..0000000
--- a/framework/source/uielement/logoimagestatusbarcontroller.cxx
+++ /dev/null
@@ -1,167 +0,0 @@
-/* -*- 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 .
- */
-
-#include <uielement/logoimagestatusbarcontroller.hxx>
-#include <classes/fwlresid.hxx>
-#include <services.h>
-#include <classes/resource.hrc>
-#include <osl/mutex.hxx>
-#include <vcl/svapp.hxx>
-#include <vcl/window.hxx>
-#include <vcl/status.hxx>
-#include <toolkit/unohlp.hxx>
-#include <toolkit/helper/convert.hxx>
-
-using namespace ::rtl;
-using namespace ::cppu;
-using namespace ::com::sun::star;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::frame;
-
-namespace framework
-{
-
-DEFINE_XSERVICEINFO_MULTISERVICE ( LogoImageStatusbarController ,
- OWeakObject ,
- SERVICENAME_STATUSBARCONTROLLER ,
- IMPLEMENTATIONNAME_LOGOIMAGESTATUSBARCONTROLLER
- )
-
-DEFINE_INIT_SERVICE ( LogoImageStatusbarController, {} )
-
-LogoImageStatusbarController::LogoImageStatusbarController( const uno::Reference< lang::XMultiServiceFactory >& xServiceManager ) :
- svt::StatusbarController( xServiceManager, uno::Reference< frame::XFrame >(), OUString(), 0 )
-{
- Image aImage( FwlResId( RID_IMAGE_STATUSBAR_LOGO ));
- m_aLogoImage = aImage;
-}
-
-LogoImageStatusbarController::~LogoImageStatusbarController()
-{
-}
-
-// XInterface
-Any SAL_CALL LogoImageStatusbarController::queryInterface( const Type& rType )
-throw ( RuntimeException )
-{
- return svt::StatusbarController::queryInterface( rType );
-}
-
-void SAL_CALL LogoImageStatusbarController::acquire() throw ()
-{
- svt::StatusbarController::acquire();
-}
-
-void SAL_CALL LogoImageStatusbarController::release() throw ()
-{
- svt::StatusbarController::release();
-}
-
-void SAL_CALL LogoImageStatusbarController::initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments )
-throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException)
-{
- SolarMutexGuard aSolarMutexGuard;
-
- svt::StatusbarController::initialize( aArguments );
-}
-
-// XComponent
-void SAL_CALL LogoImageStatusbarController::dispose()
-throw (::com::sun::star::uno::RuntimeException)
-{
- svt::StatusbarController::dispose();
-}
-
-// XEventListener
-void SAL_CALL LogoImageStatusbarController::disposing( const EventObject& Source )
-throw ( RuntimeException )
-{
- svt::StatusbarController::disposing( Source );
-}
-
-// XStatusListener
-void SAL_CALL LogoImageStatusbarController::statusChanged( const FeatureStateEvent& )
-throw ( RuntimeException )
-{
-}
-
-// XStatusbarController
-::sal_Bool SAL_CALL LogoImageStatusbarController::mouseButtonDown(
- const awt::MouseEvent& )
-throw (::com::sun::star::uno::RuntimeException)
-{
- return sal_False;
-}
-
-::sal_Bool SAL_CALL LogoImageStatusbarController::mouseMove(
- const awt::MouseEvent& )
-throw (::com::sun::star::uno::RuntimeException)
-{
- return sal_False;
-}
-
-::sal_Bool SAL_CALL LogoImageStatusbarController::mouseButtonUp(
- const awt::MouseEvent& )
-throw (::com::sun::star::uno::RuntimeException)
-{
- return sal_False;
-}
-
-void SAL_CALL LogoImageStatusbarController::command(
- const awt::Point& aPos,
- ::sal_Int32 nCommand,
- ::sal_Bool bMouseEvent,
- const ::com::sun::star::uno::Any& aData )
-throw (::com::sun::star::uno::RuntimeException)
-{
- svt::StatusbarController::command( aPos, nCommand, bMouseEvent, aData );
-}
-
-void SAL_CALL LogoImageStatusbarController::paint(
- const ::com::sun::star::uno::Reference< awt::XGraphics >& xGraphics,
- const awt::Rectangle& rOutputRectangle,
- ::sal_Int32 /*nItemId*/,
- ::sal_Int32 /*nStyle*/ )
-throw (::com::sun::star::uno::RuntimeException)
-{
- SolarMutexGuard aGuard;
-
- OutputDevice* pOutDev = VCLUnoHelper::GetOutputDevice( xGraphics );;
- if ( pOutDev )
- {
- ::Rectangle aRect = VCLRectangle( rOutputRectangle );
- pOutDev->DrawImage( aRect.TopLeft(), aRect.GetSize(), m_aLogoImage );
- }
-}
-
-void SAL_CALL LogoImageStatusbarController::click()
-throw (::com::sun::star::uno::RuntimeException)
-{
- svt::StatusbarController::click();
-}
-
-void SAL_CALL LogoImageStatusbarController::doubleClick() throw (::com::sun::star::uno::RuntimeException)
-{
- svt::StatusbarController::doubleClick();
-}
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/source/uielement/logotextstatusbarcontroller.cxx b/framework/source/uielement/logotextstatusbarcontroller.cxx
deleted file mode 100644
index 32259c2..0000000
--- a/framework/source/uielement/logotextstatusbarcontroller.cxx
+++ /dev/null
@@ -1,170 +0,0 @@
-/* -*- 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 .
- */
-
-#include <uielement/logotextstatusbarcontroller.hxx>
-#include <classes/fwlresid.hxx>
-#include <services.h>
-#include <classes/resource.hrc>
-#include <osl/mutex.hxx>
-#include <vcl/svapp.hxx>
-#include <vcl/window.hxx>
-#include <vcl/status.hxx>
-#include <toolkit/unohlp.hxx>
-#include <toolkit/helper/convert.hxx>
-
-using namespace ::rtl;
-using namespace ::cppu;
-using namespace ::com::sun::star;
-using namespace ::com::sun::star::awt;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::frame;
-
-namespace framework
-{
-
-DEFINE_XSERVICEINFO_MULTISERVICE ( LogoTextStatusbarController ,
- OWeakObject ,
- SERVICENAME_STATUSBARCONTROLLER ,
- IMPLEMENTATIONNAME_LOGOTEXTSTATUSBARCONTROLLER
- )
-
-DEFINE_INIT_SERVICE ( LogoTextStatusbarController, {} )
-
-LogoTextStatusbarController::LogoTextStatusbarController( const uno::Reference< lang::XMultiServiceFactory >& xServiceManager ) :
- svt::StatusbarController( xServiceManager, uno::Reference< frame::XFrame >(), OUString(), 0 )
-{
- m_aLogoText = String( FwlResId( STR_STATUSBAR_LOGOTEXT ));
-}
-
-LogoTextStatusbarController::~LogoTextStatusbarController()
-{
-}
-
-// XInterface
-Any SAL_CALL LogoTextStatusbarController::queryInterface( const Type& rType )
-throw ( RuntimeException )
-{
- return svt::StatusbarController::queryInterface( rType );
-}
-
-void SAL_CALL LogoTextStatusbarController::acquire() throw ()
-{
- svt::StatusbarController::acquire();
-}
-
-void SAL_CALL LogoTextStatusbarController::release() throw ()
-{
- svt::StatusbarController::release();
-}
-
-void SAL_CALL LogoTextStatusbarController::initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments )
-throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException)
-{
- SolarMutexGuard aSolarMutexGuard;
-
- svt::StatusbarController::initialize( aArguments );
-
- if ( m_xParentWindow.is() && m_nID > 0 )
- {
- Window* pWindow = VCLUnoHelper::GetWindow( m_xParentWindow );
- if ( pWindow && ( pWindow->GetType() == WINDOW_STATUSBAR ))
- {
- StatusBar* pStatusBar = (StatusBar *)pWindow;
- pStatusBar->SetItemText( m_nID, m_aLogoText );
- }
- }
-}
-
-// XComponent
-void SAL_CALL LogoTextStatusbarController::dispose()
-throw (::com::sun::star::uno::RuntimeException)
-{
- svt::StatusbarController::dispose();
-}
-
-// XEventListener
-void SAL_CALL LogoTextStatusbarController::disposing( const EventObject& Source )
-throw ( RuntimeException )
-{
- svt::StatusbarController::disposing( Source );
-}
-
-// XStatusListener
-void SAL_CALL LogoTextStatusbarController::statusChanged( const FeatureStateEvent& )
-throw ( RuntimeException )
-{
-}
-
-// XStatusbarController
-::sal_Bool SAL_CALL LogoTextStatusbarController::mouseButtonDown(
- const ::com::sun::star::awt::MouseEvent& )
-throw (::com::sun::star::uno::RuntimeException)
-{
- return sal_False;
-}
-
-::sal_Bool SAL_CALL LogoTextStatusbarController::mouseMove(
- const ::com::sun::star::awt::MouseEvent& )
-throw (::com::sun::star::uno::RuntimeException)
-{
- return sal_False;
-}
-
-::sal_Bool SAL_CALL LogoTextStatusbarController::mouseButtonUp(
- const ::com::sun::star::awt::MouseEvent& )
-throw (::com::sun::star::uno::RuntimeException)
-{
- return sal_False;
-}
-
-void SAL_CALL LogoTextStatusbarController::command(
- const ::com::sun::star::awt::Point& aPos,
- ::sal_Int32 nCommand,
- ::sal_Bool bMouseEvent,
- const ::com::sun::star::uno::Any& aData )
-throw (::com::sun::star::uno::RuntimeException)
-{
- svt::StatusbarController::command( aPos, nCommand, bMouseEvent, aData );
-}
-
-void SAL_CALL LogoTextStatusbarController::paint(
- const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XGraphics >& xGraphics,
- const ::com::sun::star::awt::Rectangle& rOutputRectangle,
- ::sal_Int32 nItemId,
- ::sal_Int32 nStyle )
-throw (::com::sun::star::uno::RuntimeException)
-{
- svt::StatusbarController::paint( xGraphics, rOutputRectangle, nItemId, nStyle );
-}
-
-void SAL_CALL LogoTextStatusbarController::click()
-throw (::com::sun::star::uno::RuntimeException)
-{
- svt::StatusbarController::click();
-}
-
-void SAL_CALL LogoTextStatusbarController::doubleClick() throw (::com::sun::star::uno::RuntimeException)
-{
- svt::StatusbarController::doubleClick();
-}
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/source/uielement/simpletextstatusbarcontroller.cxx b/framework/source/uielement/simpletextstatusbarcontroller.cxx
deleted file mode 100644
index e0b3807..0000000
--- a/framework/source/uielement/simpletextstatusbarcontroller.cxx
+++ /dev/null
@@ -1,186 +0,0 @@
-/* -*- 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 .
- */
-
-#include <uielement/simpletextstatusbarcontroller.hxx>
-#include <classes/fwkresid.hxx>
-#include <services.h>
-#include <classes/resource.hrc>
-#include <osl/mutex.hxx>
-#include <vcl/svapp.hxx>
-#include <vcl/window.hxx>
-#include <vcl/status.hxx>
-#include <toolkit/unohlp.hxx>
-#include <toolkit/helper/convert.hxx>
-
-using namespace ::rtl;
-using namespace ::cppu;
-using namespace ::com::sun::star;
-using namespace ::com::sun::star::awt;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::frame;
-
-namespace framework
-{
-
-DEFINE_XSERVICEINFO_MULTISERVICE ( SimpleTextStatusbarController ,
- OWeakObject ,
- SERVICENAME_STATUSBARCONTROLLER ,
- IMPLEMENTATIONNAME_SIMPLETEXTSTATUSBARCONTROLLER
- )
-
-DEFINE_INIT_SERVICE ( SimpleTextStatusbarController, {} )
-
-SimpleTextStatusbarController::SimpleTextStatusbarController( const uno::Reference< lang::XMultiServiceFactory >& xServiceManager ) :
- svt::StatusbarController( xServiceManager, uno::Reference< frame::XFrame >(), OUString(), 0 )
-{
-}
-
-SimpleTextStatusbarController::~SimpleTextStatusbarController()
-{
-}
-
-// XInterface
-Any SAL_CALL SimpleTextStatusbarController::queryInterface( const Type& rType )
-throw ( RuntimeException )
-{
- return svt::StatusbarController::queryInterface( rType );
-}
-
-void SAL_CALL SimpleTextStatusbarController::acquire() throw ()
-{
- svt::StatusbarController::acquire();
-}
-
-void SAL_CALL SimpleTextStatusbarController::release() throw ()
-{
- svt::StatusbarController::release();
-}
-
-void SAL_CALL SimpleTextStatusbarController::initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments )
-throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException)
-{
- const OUString aPropValueName( "Value" );
-
- SolarMutexGuard aSolarMutexGuard;
-
- svt::StatusbarController::initialize( aArguments );
-
- OUString aValue;
- beans::PropertyValue aPropValue;
-
- // Check arguments for optional "Value" property. We need it
- // to set our internal simple text.
- for ( int i = 0; i < aArguments.getLength(); i++ )
- {
- if (( aArguments[i] >>= aPropValue ) && ( aPropValue.Name.equals( aPropValueName )))
- {
- aPropValue.Value >>= aValue;
- break;
- }
- }
-
- m_aText = aValue;
- if ( m_xParentWindow.is() && m_nID > 0 )
- {
- Window* pWindow = VCLUnoHelper::GetWindow( m_xParentWindow );
- if ( pWindow && ( pWindow->GetType() == WINDOW_STATUSBAR ))
- {
- StatusBar* pStatusBar = (StatusBar *)pWindow;
- pStatusBar->SetItemText( m_nID, m_aText );
- }
- }
-}
-
-// XComponent
-void SAL_CALL SimpleTextStatusbarController::dispose()
-throw (::com::sun::star::uno::RuntimeException)
-{
- svt::StatusbarController::dispose();
-}
-
-// XEventListener
-void SAL_CALL SimpleTextStatusbarController::disposing( const EventObject& Source )
-throw ( RuntimeException )
-{
- svt::StatusbarController::disposing( Source );
-}
-
-// XStatusListener
-void SAL_CALL SimpleTextStatusbarController::statusChanged( const FeatureStateEvent& )
-throw ( RuntimeException )
-{
-}
-
-// XStatusbarController
-::sal_Bool SAL_CALL SimpleTextStatusbarController::mouseButtonDown(
- const ::com::sun::star::awt::MouseEvent& )
-throw (::com::sun::star::uno::RuntimeException)
-{
- return sal_False;
-}
-
-::sal_Bool SAL_CALL SimpleTextStatusbarController::mouseMove(
- const ::com::sun::star::awt::MouseEvent& )
-throw (::com::sun::star::uno::RuntimeException)
-{
- return sal_False;
-}
-
-::sal_Bool SAL_CALL SimpleTextStatusbarController::mouseButtonUp(
- const ::com::sun::star::awt::MouseEvent& )
-throw (::com::sun::star::uno::RuntimeException)
-{
- return sal_False;
-}
-
-void SAL_CALL SimpleTextStatusbarController::command(
- const ::com::sun::star::awt::Point& aPos,
- ::sal_Int32 nCommand,
- ::sal_Bool bMouseEvent,
- const ::com::sun::star::uno::Any& aData )
-throw (::com::sun::star::uno::RuntimeException)
-{
- svt::StatusbarController::command( aPos, nCommand, bMouseEvent, aData );
-}
-
-void SAL_CALL SimpleTextStatusbarController::paint(
- const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XGraphics >& xGraphics,
- const ::com::sun::star::awt::Rectangle& rOutputRectangle,
- ::sal_Int32 nItemId,
- ::sal_Int32 nStyle )
-throw (::com::sun::star::uno::RuntimeException)
-{
- svt::StatusbarController::paint( xGraphics, rOutputRectangle, nItemId, nStyle );
-}
-
-void SAL_CALL SimpleTextStatusbarController::click()
-throw (::com::sun::star::uno::RuntimeException)
-{
- svt::StatusbarController::click();
-}
-
-void SAL_CALL SimpleTextStatusbarController::doubleClick() throw (::com::sun::star::uno::RuntimeException)
-{
- svt::StatusbarController::doubleClick();
-}
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/util/fwl.component b/framework/util/fwl.component
index b4a7ed3..9aaef32 100644
--- a/framework/util/fwl.component
+++ b/framework/util/fwl.component
@@ -43,12 +43,6 @@
<implementation name="com.sun.star.comp.framework.License">
<service name="com.sun.star.task.Job"/>
</implementation>
- <implementation name="com.sun.star.comp.framework.LogoImageStatusbarController">
- <service name="com.sun.star.frame.StatusbarController"/>
- </implementation>
- <implementation name="com.sun.star.comp.framework.LogoTextStatusbarController">
- <service name="com.sun.star.frame.StatusbarController"/>
- </implementation>
<implementation name="com.sun.star.comp.framework.MacrosMenuController">
<service name="com.sun.star.frame.PopupMenuController"/>
</implementation>
@@ -73,9 +67,6 @@
<implementation name="com.sun.star.comp.framework.ServiceHandler">
<service name="com.sun.star.frame.ProtocolHandler"/>
</implementation>
- <implementation name="com.sun.star.comp.framework.SimpleTextStatusbarController">
- <service name="com.sun.star.frame.StatusbarController"/>
- </implementation>
<implementation name="com.sun.star.comp.framework.ToolBarsMenuController">
<service name="com.sun.star.frame.PopupMenuController"/>
</implementation>
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu b/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu
index 56055d4..5abc0a8 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu
@@ -587,28 +587,6 @@
</node>
<node oor:name="c5" oor:op="replace">
<prop oor:name="Command">
- <value>.uno:StatusbarLogo</value>
- </prop>
- <prop oor:name="Module">
- <value/>
- </prop>
- <prop oor:name="Controller">
- <value>com.sun.star.comp.framework.LogoImageStatusbarController</value>
- </prop>
- </node>
- <node oor:name="c6" oor:op="replace">
- <prop oor:name="Command">
- <value>.uno:StatusbarLogoText</value>
- </prop>
- <prop oor:name="Module">
- <value/>
- </prop>
- <prop oor:name="Controller">
- <value>com.sun.star.comp.framework.LogoTextStatusbarController</value>
- </prop>
- </node>
- <node oor:name="c7" oor:op="replace">
- <prop oor:name="Command">
<value>.uno:LanguageStatus</value>
</prop>
<prop oor:name="Module">
commit 819840979b82a7b19329eda63db0d5f8a291b9de
Author: Ariel Constenla-Haile <arielch at apache.org>
Date: Thu Dec 6 12:29:55 2012 +0000
Related: #i121442# - Refactor UNO StatusbarControllers
(cherry picked from commit 3f1dd0f6b392c104e0a7c7c2623d5d688f8622c0)
Conflicts:
framework/source/uielement/langselectionstatusbarcontroller.cxx
Change-Id: I1e8f87d1fbd12bab98b38282cedc730ac23694c3
diff --git a/framework/inc/uielement/langselectionstatusbarcontroller.hxx b/framework/inc/uielement/langselectionstatusbarcontroller.hxx
index 560e627..71896ef 100644
--- a/framework/inc/uielement/langselectionstatusbarcontroller.hxx
+++ b/framework/inc/uielement/langselectionstatusbarcontroller.hxx
@@ -47,36 +47,18 @@ class LangSelectionStatusbarController : public svt::StatusbarController
// XServiceInfo
DECLARE_XSERVICEINFO
- // XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL acquire() throw ();
- virtual void SAL_CALL release() throw ();
-
// XInitialization
virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
- // XComponent
- virtual void SAL_CALL dispose() throw ( ::com::sun::star::uno::RuntimeException );
-
- // XEventListener
- virtual void SAL_CALL disposing( const com::sun::star::lang::EventObject& Source ) throw ( ::com::sun::star::uno::RuntimeException );
-
// XStatusListener
virtual void SAL_CALL statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw ( ::com::sun::star::uno::RuntimeException );
// XStatusbarController
- virtual ::sal_Bool SAL_CALL mouseButtonDown( const ::com::sun::star::awt::MouseEvent& aMouseEvent ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::sal_Bool SAL_CALL mouseMove( const ::com::sun::star::awt::MouseEvent& aMouseEvent ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::sal_Bool SAL_CALL mouseButtonUp( const ::com::sun::star::awt::MouseEvent& aMouseEvent ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL command( const ::com::sun::star::awt::Point& aPos,
::sal_Int32 nCommand,
::sal_Bool bMouseEvent,
const ::com::sun::star::uno::Any& aData ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL paint( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XGraphics >& xGraphics,
- const ::com::sun::star::awt::Rectangle& rOutputRectangle,
- ::sal_Int32 nItemId, ::sal_Int32 nStyle ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL click() throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL doubleClick() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL click( const ::com::sun::star::awt::Point& aPos ) throw (::com::sun::star::uno::RuntimeException);
private:
virtual ~LangSelectionStatusbarController() {}
@@ -91,7 +73,7 @@ class LangSelectionStatusbarController : public svt::StatusbarController
OUString m_aGuessedTextLang; // the 'guessed' language for the selection, "" if none could be guessed
LanguageGuessingHelper m_aLangGuessHelper;
- void LangMenu() throw (::com::sun::star::uno::RuntimeException);
+ void LangMenu( const ::com::sun::star::awt::Point& aPos ) throw (::com::sun::star::uno::RuntimeException);
};
} // framework namespace
diff --git a/framework/source/uielement/langselectionstatusbarcontroller.cxx b/framework/source/uielement/langselectionstatusbarcontroller.cxx
index d8d5451..09c0a3d 100644
--- a/framework/source/uielement/langselectionstatusbarcontroller.cxx
+++ b/framework/source/uielement/langselectionstatusbarcontroller.cxx
@@ -26,7 +26,6 @@
#include <vcl/svapp.hxx>
#include <vcl/window.hxx>
#include <vcl/status.hxx>
-#include <toolkit/unohlp.hxx>
#include <toolkit/helper/convert.hxx>
#include <com/sun/star/frame/XPopupMenuController.hpp>
@@ -49,6 +48,7 @@
#include <com/sun/star/util/XURLTransformer.hpp>
#include <comphelper/processfactory.hxx>
+#include <toolkit/helper/vclunohelper.hxx>
#include <tools/gen.hxx>
#include <com/sun/star/awt/Command.hpp>
#include <svl/languageoptions.hxx>
@@ -56,6 +56,8 @@
#include "helper/mischelper.hxx"
+#include <rtl/ustrbuf.hxx>
+
#include <map>
#include <set>
@@ -67,12 +69,12 @@ using namespace ::com::sun::star::frame;
using namespace ::com::sun::star::i18n;
using namespace ::com::sun::star::document;
+using ::rtl::OUStringBuffer;
namespace framework
{
-
DEFINE_XSERVICEINFO_MULTISERVICE ( LangSelectionStatusbarController ,
OWeakObject ,
SERVICENAME_STATUSBARCONTROLLER ,
@@ -89,23 +91,6 @@ LangSelectionStatusbarController::LangSelectionStatusbarController( const uno::R
{
}
-// XInterface
-Any SAL_CALL LangSelectionStatusbarController::queryInterface( const Type& rType )
-throw ( RuntimeException )
-{
- return svt::StatusbarController::queryInterface( rType );
-}
-
-void SAL_CALL LangSelectionStatusbarController::acquire() throw ()
-{
- svt::StatusbarController::acquire();
-}
-
-void SAL_CALL LangSelectionStatusbarController::release() throw ()
-{
- svt::StatusbarController::release();
-}
-
void SAL_CALL LangSelectionStatusbarController::initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments )
throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException)
{
@@ -114,59 +99,14 @@ throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException
svt::StatusbarController::initialize( aArguments );
- if ( m_xParentWindow.is() && m_nID > 0 )
+ if ( m_xStatusbarItem.is() )
{
- Window* pWindow = VCLUnoHelper::GetWindow( m_xParentWindow );
- if ( pWindow && ( pWindow->GetType() == WINDOW_STATUSBAR ))
- {
- StatusBar* pStatusBar = (StatusBar *)pWindow;
- pStatusBar->SetItemText( m_nID, FwkResId( STR_LANGSTATUS_MULTIPLE_LANGUAGES ) );
- }
+ m_xStatusbarItem->setText( String( FwkResId( STR_LANGSTATUS_MULTIPLE_LANGUAGES ) ) );
}
}
-// XComponent
-void SAL_CALL LangSelectionStatusbarController::dispose()
-throw (::com::sun::star::uno::RuntimeException)
-{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen at sun.com", "LangSelectionStatusbarController::dispose" );
- svt::StatusbarController::dispose();
-}
-
-// XEventListener
-void SAL_CALL LangSelectionStatusbarController::disposing( const com::sun::star::lang::EventObject& Source )
-throw ( RuntimeException )
-{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen at sun.com", "LangSelectionStatusbarController::disposing" );
- svt::StatusbarController::disposing( Source );
-}
-
-// XStatusbarController
-::sal_Bool SAL_CALL LangSelectionStatusbarController::mouseButtonDown(
- const ::com::sun::star::awt::MouseEvent& )
-throw (::com::sun::star::uno::RuntimeException)
-{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen at sun.com", "LangSelectionStatusbarController::mouseButtonDown" );
- return sal_False;
-}
-
-::sal_Bool SAL_CALL LangSelectionStatusbarController::mouseMove(
- const ::com::sun::star::awt::MouseEvent& )
-throw (::com::sun::star::uno::RuntimeException)
-{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen at sun.com", "LangSelectionStatusbarController::mouseMove" );
- return sal_False;
-}
-
-::sal_Bool SAL_CALL LangSelectionStatusbarController::mouseButtonUp(
- const ::com::sun::star::awt::MouseEvent& )
-throw (::com::sun::star::uno::RuntimeException)
-{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen at sun.com", "LangSelectionStatusbarController::mouseButtonUp" );
- return sal_False;
-}
-
-void LangSelectionStatusbarController::LangMenu()
+void LangSelectionStatusbarController::LangMenu(
+ const ::com::sun::star::awt::Point& aPos )
throw (::com::sun::star::uno::RuntimeException)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen at sun.com", "LangSelectionStatusbarController::LangMenu" );
@@ -200,7 +140,7 @@ throw (::com::sun::star::uno::RuntimeException)
{
DBG_ASSERT( MID_LANG_SEL_1 <= nItemId && nItemId <= MID_LANG_SEL_9,
"nItemId outside of expected range!" );
- xPopupMenu->insertItem( nItemId, rStr, css::awt::MenuItemStyle::RADIOCHECK, nItemId );
+ xPopupMenu->insertItem( nItemId, rStr, 0, nItemId );
if ( rStr == m_aCurLang )
{
//make a sign for the current language
@@ -210,10 +150,10 @@ throw (::com::sun::star::uno::RuntimeException)
++nItemId;
}
}
- xPopupMenu->insertItem( MID_LANG_SEL_NONE, String( FwkResId( STR_LANGSTATUS_NONE )), css::awt::MenuItemStyle::RADIOCHECK, MID_LANG_SEL_NONE );
+
+ xPopupMenu->insertItem( MID_LANG_SEL_NONE, String( FwkResId( STR_LANGSTATUS_NONE )), 0, MID_LANG_SEL_NONE );
if ( aLanguageTable.GetString( LANGUAGE_NONE ) == m_aCurLang )
xPopupMenu->checkItem( MID_LANG_SEL_NONE, sal_True );
-
xPopupMenu->insertItem( MID_LANG_SEL_RESET, String( FwkResId( STR_RESET_TO_DEFAULT_LANGUAGE )), 0, MID_LANG_SEL_RESET );
xPopupMenu->insertItem( MID_LANG_SEL_MORE, String( FwkResId( STR_LANGSTATUS_MORE )), 0, MID_LANG_SEL_MORE );
@@ -246,77 +186,65 @@ throw (::com::sun::star::uno::RuntimeException)
// now display the popup menu and execute every command ...
Reference< awt::XWindowPeer > xParent( m_xParentWindow, UNO_QUERY );
-
com::sun::star::awt::Rectangle aRectangle;
- Window* pWindow = VCLUnoHelper::GetWindow( m_xParentWindow );
- const Point mMousePos = pWindow->GetPointerPosPixel();
- aRectangle.X = mMousePos.X();
- aRectangle.Y = mMousePos.Y();
+ aRectangle.X = aPos.X;
+ aRectangle.Y = aPos.Y;
sal_Int16 nId = xPopupMenu->execute( xParent, aRectangle, com::sun::star::awt::PopupMenuDirection::EXECUTE_UP+16 );
//click "More..."
if ( nId && m_xFrame.is() )
{
- uno::Reference< XDispatchProvider > xDispatchProvider( m_xFrame, UNO_QUERY );
- util::URL aURL;
+ OUStringBuffer aBuff;
+ //set selected language as current language for selection
+ const OUString aSelectedLang = aLangMap[nId];
if (MID_LANG_SEL_1 <= nId && nId <= MID_LANG_SEL_9)
{
- //set selected language as current language for selection
- String aSelectedLang = aLangMap[nId];
- aURL.Complete += ".uno:LanguageStatus?Language:string=Current_";
- aURL.Complete += aSelectedLang;
+ aBuff.appendAscii( RTL_CONSTASCII_STRINGPARAM( (".uno:LanguageStatus?Language:string=Current_") ));
+ aBuff.append( aSelectedLang );
}
else if (nId == MID_LANG_SEL_NONE)
{
//set None as current language for selection
- aURL.Complete += ".uno:LanguageStatus?Language:string=Current_LANGUAGE_NONE";
+ aBuff.appendAscii( RTL_CONSTASCII_STRINGPARAM( (".uno:LanguageStatus?Language:string=Current_LANGUAGE_NONE") ));
}
else if (nId == MID_LANG_SEL_RESET)
{
// reset language attributes for selection
- aURL.Complete += ".uno:LanguageStatus?Language:string=Current_RESET_LANGUAGES";
+ aBuff.appendAscii( RTL_CONSTASCII_STRINGPARAM( (".uno:LanguageStatus?Language:string=Current_RESET_LANGUAGES") ));
}
else if (nId == MID_LANG_SEL_MORE)
{
//open the dialog "format/character" for current selection
- aURL.Complete += ".uno:FontDialog?Language:string=*";
+ aBuff.appendAscii( RTL_CONSTASCII_STRINGPARAM( (".uno:FontDialog?Language:string=*") ));
}
else if (MID_LANG_PARA_1 <= nId && nId <= MID_LANG_PARA_9)
{
- //set selected language for current paragraph
- String aSelectedLang = aLangMap[nId];
- aURL.Complete += ".uno:LanguageStatus?Language:string=Paragraph_";
- aURL.Complete += aSelectedLang;
+ aBuff.appendAscii( RTL_CONSTASCII_STRINGPARAM( (".uno:LanguageStatus?Language:string=Paragraph_") ));
+ aBuff.append( aSelectedLang );
}
else if (nId == MID_LANG_PARA_NONE)
{
//set None as language for current paragraph
- aURL.Complete += ".uno:LanguageStatus?Language:string=Paragraph_LANGUAGE_NONE";
+ aBuff.appendAscii( RTL_CONSTASCII_STRINGPARAM( (".uno:LanguageStatus?Language:string=Paragraph_LANGUAGE_NONE") ));
}
else if (nId == MID_LANG_PARA_RESET)
{
// reset language attributes for paragraph
- aURL.Complete += ".uno:LanguageStatus?Language:string=Paragraph_RESET_LANGUAGES";
+ aBuff.appendAscii( RTL_CONSTASCII_STRINGPARAM( (".uno:LanguageStatus?Language:string=Paragraph_RESET_LANGUAGES") ));
}
else if (nId == MID_LANG_PARA_MORE)
{
//open the dialog "format/character" for current paragraph
- aURL.Complete += ".uno:FontDialogForParagraph";
+ aBuff.appendAscii( RTL_CONSTASCII_STRINGPARAM( (".uno:FontDialogForParagraph") ));
}
- uno::Reference< util::XURLTransformer > xURLTransformer( util::URLTransformer::create(::comphelper::getComponentContext(m_xServiceManager)) );
- xURLTransformer->parseStrict( aURL );
- uno::Reference< XDispatch > xDispatch = xDispatchProvider->queryDispatch(aURL, OUString(), 0);
- if( xDispatch.is() )
- {
- uno::Sequence< beans::PropertyValue > aPV;
- xDispatch->dispatch( aURL, aPV);
- }
+ const Sequence< beans::PropertyValue > aDummyArgs;
+ execute( aBuff.makeStringAndClear(), aDummyArgs );
}
}
void SAL_CALL LangSelectionStatusbarController::command(
- const ::com::sun::star::awt::Point& /*aPos*/,
+ const ::com::sun::star::awt::Point& aPos,
::sal_Int32 nCommand,
::sal_Bool /*bMouseEvent*/,
const ::com::sun::star::uno::Any& /*aData*/ )
@@ -325,33 +253,16 @@ throw (::com::sun::star::uno::RuntimeException)
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen at sun.com", "LangSelectionStatusbarController::command" );
if ( nCommand & ::awt::Command::CONTEXTMENU )
{
- LangMenu();
+ LangMenu( aPos );
}
}
-void SAL_CALL LangSelectionStatusbarController::paint(
- const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XGraphics >& xGraphics,
- const ::com::sun::star::awt::Rectangle& rOutputRectangle,
- ::sal_Int32 nItemId,
- ::sal_Int32 nStyle )
-throw (::com::sun::star::uno::RuntimeException)
-{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen at sun.com", "LangSelectionStatusbarController::paint" );
- svt::StatusbarController::paint( xGraphics, rOutputRectangle, nItemId, nStyle );
-}
-
-void SAL_CALL LangSelectionStatusbarController::click()
+void SAL_CALL LangSelectionStatusbarController::click(
+ const ::com::sun::star::awt::Point& aPos )
throw (::com::sun::star::uno::RuntimeException)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen at sun.com", "LangSelectionStatusbarController::click" );
- LangMenu();
-}
-
-void SAL_CALL LangSelectionStatusbarController::doubleClick()
-throw (::com::sun::star::uno::RuntimeException)
-{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen at sun.com", "LangSelectionStatusbarController::doubleClick" );
- svt::StatusbarController::doubleClick();
+ LangMenu( aPos );
}
// XStatusListener
@@ -372,26 +283,25 @@ throw ( RuntimeException )
return;
m_bShowMenu = sal_True;
-
m_nScriptType = LS_SCRIPT_LATIN | LS_SCRIPT_ASIAN | LS_SCRIPT_COMPLEX; //set the default value
- Window* pWindow = VCLUnoHelper::GetWindow( m_xParentWindow );
- if ( pWindow && pWindow->GetType() == WINDOW_STATUSBAR && m_nID != 0 )
+
+ if ( m_xStatusbarItem.is() )
{
- OUString aStrValue;
+ OUString aStrValue;
Sequence< OUString > aSeq;
- StatusBar* pStatusBar = (StatusBar *)pWindow;
if ( Event.State >>= aStrValue )
- pStatusBar->SetItemText( m_nID, aStrValue );
+ m_xStatusbarItem->setText( aStrValue );
else if ( Event.State >>= aSeq )
{
if ( aSeq.getLength() == 4 )
{
- const String aMultipleLangText( FwkResId( STR_LANGSTATUS_MULTIPLE_LANGUAGES ) );
OUString aStatusText = aSeq[0];
- if ( 0 == aStatusText.compareToAscii( "*" ))
- aStatusText = aMultipleLangText;
- pStatusBar->SetItemText( m_nID, aStatusText );
+ if (aStatusText == "*")
+ {
+ aStatusText = String( FwkResId( STR_LANGSTATUS_MULTIPLE_LANGUAGES ) );
+ }
+ m_xStatusbarItem->setText( aStatusText );
// Retrieve all other values from the sequence and
// store it members!
@@ -403,7 +313,7 @@ throw ( RuntimeException )
}
else if ( !Event.State.hasValue() )
{
- pStatusBar->SetItemText( m_nID, String() );
+ m_xStatusbarItem->setText( OUString() );
m_bShowMenu = sal_False; // no language -> no menu
}
}
commit 25ec90bfa85ab829e47f442742c63dd41960b973
Author: Ariel Constenla-Haile <arielch at apache.org>
Date: Thu Dec 6 12:29:42 2012 +0000
Related: #i121442# Adapt existing code in other modules
(cherry picked from commit 6c640ee420df6f7c9f3ab981e49ee304f1d2319e)
Conflicts:
reportdesign/source/ui/misc/statusbarcontroller.cxx
sfx2/inc/sfx2/stbitem.hxx
svtools/inc/svtools/statusbarcontroller.hxx
svtools/source/uno/statusbarcontroller.cxx
Change-Id: If03a201214a4afe09efa4e3e996aded9b6a57bdf
diff --git a/include/sfx2/stbitem.hxx b/include/sfx2/stbitem.hxx
index d94e768..0512c31 100644
--- a/include/sfx2/stbitem.hxx
+++ b/include/sfx2/stbitem.hxx
@@ -90,10 +90,10 @@ protected:
::sal_Bool bMouseEvent,
const ::com::sun::star::uno::Any& aData ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL paint( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XGraphics >& xGraphics,
- const ::com::sun::star::awt::Rectangle& rOutputRectangle,
- ::sal_Int32 nItemId, ::sal_Int32 nStyle ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL click() throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL doubleClick() throw (::com::sun::star::uno::RuntimeException);
+ const ::com::sun::star::awt::Rectangle& rOutputRectangle,
+ ::sal_Int32 nStyle ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL click( const ::com::sun::star::awt::Point& aPos ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL doubleClick( const ::com::sun::star::awt::Point& aPos ) throw (::com::sun::star::uno::RuntimeException);
// Old sfx2 interface
virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState,
diff --git a/include/svtools/statusbarcontroller.hxx b/include/svtools/statusbarcontroller.hxx
index eba45e5..9d094fa 100644
--- a/include/svtools/statusbarcontroller.hxx
+++ b/include/svtools/statusbarcontroller.hxx
@@ -21,12 +21,10 @@
#define _SVTOOLS_STATUSBARCONTROLLER_HXX
#include "svtools/svtdllapi.h"
+#include <com/sun/star/ui/XStatusbarItem.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/lang/XInitialization.hpp>
-#include <com/sun/star/util/XUpdatable.hpp>
#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/frame/XDispatch.hpp>
-#include <com/sun/star/frame/XStatusListener.hpp>
#include <com/sun/star/frame/XStatusbarController.hpp>
#include <com/sun/star/util/XURLTransformer.hpp>
#include <com/sun/star/frame/XLayoutManager.hpp>
@@ -41,10 +39,8 @@
namespace svt
{
-class SVT_DLLPUBLIC StatusbarController : public ::com::sun::star::frame::XStatusListener,
+class SVT_DLLPUBLIC StatusbarController :
public ::com::sun::star::frame::XStatusbarController,
- public ::com::sun::star::lang::XInitialization,
- public ::com::sun::star::util::XUpdatable,
public ::com::sun::star::lang::XComponent,
public ::comphelper::OBaseMutex,
public ::cppu::OWeakObject
@@ -94,9 +90,9 @@ class SVT_DLLPUBLIC StatusbarController : public ::com::sun::star::frame::XStatu
const ::com::sun::star::uno::Any& aData ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL paint( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XGraphics >& xGraphics,
const ::com::sun::star::awt::Rectangle& rOutputRectangle,
- ::sal_Int32 nItemId, ::sal_Int32 nStyle ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL click() throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL doubleClick() throw (::com::sun::star::uno::RuntimeException);
+ ::sal_Int32 nStyle ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL click( const ::com::sun::star::awt::Point& aPos ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL doubleClick( const ::com::sun::star::awt::Point& aPos ) throw (::com::sun::star::uno::RuntimeException);
protected:
struct Listener
@@ -132,6 +128,7 @@ class SVT_DLLPUBLIC StatusbarController : public ::com::sun::star::frame::XStatu
URLToDispatchMap m_aListenerMap;
::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; /// container for ALL Listener
mutable ::com::sun::star::uno::Reference< ::com::sun::star::util::XURLTransformer > m_xURLTransformer;
+ ::com::sun::star::uno::Reference< ::com::sun::star::ui::XStatusbarItem > m_xStatusbarItem;
};
}
diff --git a/reportdesign/source/ui/inc/statusbarcontroller.hxx b/reportdesign/source/ui/inc/statusbarcontroller.hxx
index 413cca6..6e6fda9 100644
--- a/reportdesign/source/ui/inc/statusbarcontroller.hxx
+++ b/reportdesign/source/ui/inc/statusbarcontroller.hxx
@@ -23,20 +23,19 @@
#include <comphelper/uno3.hxx>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <cppuhelper/implbase1.hxx>
-#include <comphelper/implementationreference.hxx>
class SfxStatusBarControl;
namespace rptui
{
- typedef ::comphelper::ImplementationReference<SfxStatusBarControl,::com::sun::star::frame::XStatusbarController> TStatusbarHelper;
+ typedef com::sun::star::uno::Reference< com::sun::star::frame::XStatusbarController > TStatusbarRef;
typedef ::cppu::ImplHelper1 < ::com::sun::star::lang::XServiceInfo> OStatusbarController_BASE;
class OStatusbarController : public ::svt::StatusbarController,
public OStatusbarController_BASE
{
- TStatusbarHelper m_pController;
- sal_uInt16 m_nSlotId;
- sal_uInt16 m_nId;
+ TStatusbarRef m_rController;
+ sal_uInt16 m_nSlotId;
+ sal_uInt16 m_nId;
public:
OStatusbarController(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB);
@@ -75,9 +74,9 @@ namespace rptui
const ::com::sun::star::uno::Any& aData ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL paint( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XGraphics >& xGraphics,
const ::com::sun::star::awt::Rectangle& rOutputRectangle,
- ::sal_Int32 nItemId, ::sal_Int32 nStyle ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL click() throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL doubleClick() throw (::com::sun::star::uno::RuntimeException);
+ ::sal_Int32 nStyle ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL click( const ::com::sun::star::awt::Point& aPos ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL doubleClick( const ::com::sun::star::awt::Point& aPos ) throw (::com::sun::star::uno::RuntimeException);
};
}
#endif // DBAUI_STATUSBARCONTROLLER_HXX
diff --git a/reportdesign/source/ui/misc/statusbarcontroller.cxx b/reportdesign/source/ui/misc/statusbarcontroller.cxx
index 6f73dad..9bb946e 100644
--- a/reportdesign/source/ui/misc/statusbarcontroller.cxx
+++ b/reportdesign/source/ui/misc/statusbarcontroller.cxx
@@ -99,19 +99,25 @@ void SAL_CALL OStatusbarController::initialize( const Sequence< Any >& _rArgumen
break;
}
}
+
+ SfxStatusBarControl *pController = 0;
if ( m_aCommandURL == ".uno:ZoomSlider" )
{
- m_pController = TStatusbarHelper::createFromQuery(new SvxZoomSliderControl(m_nSlotId = SID_ATTR_ZOOMSLIDER,m_nId,*pStatusBar));
+ pController = new SvxZoomSliderControl(m_nSlotId = SID_ATTR_ZOOMSLIDER,m_nId,*pStatusBar);
}
else if ( m_aCommandURL == ".uno:Zoom" )
{
- m_pController = TStatusbarHelper::createFromQuery(new SvxZoomStatusBarControl(m_nSlotId = SID_ATTR_ZOOM,m_nId,*pStatusBar));
+ pController = new SvxZoomStatusBarControl(m_nSlotId = SID_ATTR_ZOOM,m_nId,*pStatusBar);
}
- if ( m_pController.is() )
+ if ( pController )
{
- m_pController->initialize(_rArguments);
- m_pController->update();
+ m_rController.set( pController );
+ if ( m_rController.is() )
+ {
+ m_rController->initialize(_rArguments);
+ m_rController->update();
+ }
}
addStatusListener(m_aCommandURL);
@@ -124,7 +130,7 @@ void SAL_CALL OStatusbarController::statusChanged( const FeatureStateEvent& _aEv
SolarMutexGuard aSolarGuard;
::osl::MutexGuard aGuard(m_aMutex);
- if ( m_pController.is() )
+ if ( m_rController.is() )
{
if ( m_aCommandURL == ".uno:ZoomSlider" )
{
@@ -133,7 +139,7 @@ void SAL_CALL OStatusbarController::statusChanged( const FeatureStateEvent& _aEv
{
SvxZoomSliderItem aZoomSlider(100,20,400);
aZoomSlider.PutValue(_aEvent.State);
- static_cast<SvxZoomSliderControl*>(m_pController.get())->StateChanged(m_nSlotId,SFX_ITEM_AVAILABLE,&aZoomSlider);
+ static_cast<SvxZoomSliderControl*>(m_rController.get())->StateChanged(m_nSlotId,SFX_ITEM_AVAILABLE,&aZoomSlider);
}
}
else if ( m_aCommandURL == ".uno:Zoom" )
@@ -143,7 +149,7 @@ void SAL_CALL OStatusbarController::statusChanged( const FeatureStateEvent& _aEv
{
SvxZoomItem aZoom;
aZoom.PutValue(_aEvent.State);
- static_cast<SvxZoomStatusBarControl*>(m_pController.get())->StateChanged(m_nSlotId,SFX_ITEM_AVAILABLE,&aZoom);
+ static_cast<SvxZoomStatusBarControl*>(m_rController.get())->StateChanged(m_nSlotId,SFX_ITEM_AVAILABLE,&aZoom);
}
}
}
@@ -152,17 +158,17 @@ void SAL_CALL OStatusbarController::statusChanged( const FeatureStateEvent& _aEv
// XStatusbarController
::sal_Bool SAL_CALL OStatusbarController::mouseButtonDown(const ::com::sun::star::awt::MouseEvent& _aEvent)throw (::com::sun::star::uno::RuntimeException)
{
- return m_pController.is() && m_pController.getRef()->mouseButtonDown(_aEvent);
+ return m_rController.is() && m_rController->mouseButtonDown(_aEvent);
}
::sal_Bool SAL_CALL OStatusbarController::mouseMove( const ::com::sun::star::awt::MouseEvent& _aEvent)throw (::com::sun::star::uno::RuntimeException)
{
- return m_pController.is() && m_pController.getRef()->mouseMove(_aEvent);
+ return m_rController.is() && m_rController->mouseMove(_aEvent);
}
::sal_Bool SAL_CALL OStatusbarController::mouseButtonUp( const ::com::sun::star::awt::MouseEvent& _aEvent)throw (::com::sun::star::uno::RuntimeException)
{
- return m_pController.is() && m_pController.getRef()->mouseButtonUp(_aEvent);
+ return m_rController.is() && m_rController->mouseButtonUp(_aEvent);
}
void SAL_CALL OStatusbarController::command(
@@ -172,47 +178,49 @@ void SAL_CALL OStatusbarController::command(
const ::com::sun::star::uno::Any& aData )
throw (::com::sun::star::uno::RuntimeException)
{
- if ( m_pController.is() )
- m_pController.getRef()->command( aPos, nCommand, bMouseEvent, aData );
+ if ( m_rController.is() )
+ m_rController->command( aPos, nCommand, bMouseEvent, aData );
}
void SAL_CALL OStatusbarController::paint(
const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XGraphics >& xGraphics,
const ::com::sun::star::awt::Rectangle& rOutputRectangle,
- ::sal_Int32 nItemId,
::sal_Int32 nStyle )
throw (::com::sun::star::uno::RuntimeException)
{
- if ( m_pController.is() )
- m_pController.getRef()->paint( xGraphics, rOutputRectangle, nItemId, nStyle );
+ if ( m_rController.is() )
+ m_rController->paint( xGraphics, rOutputRectangle, nStyle );
}
-void SAL_CALL OStatusbarController::click() throw (::com::sun::star::uno::RuntimeException)
+void SAL_CALL OStatusbarController::click(
+ const ::com::sun::star::awt::Point& aPos )
+throw (::com::sun::star::uno::RuntimeException)
{
- if ( m_pController.is() )
- m_pController.getRef()->click();
+ if ( m_rController.is() )
+ m_rController->click( aPos );
}
-void SAL_CALL OStatusbarController::doubleClick() throw (::com::sun::star::uno::RuntimeException)
+void SAL_CALL OStatusbarController::doubleClick(
+ const ::com::sun::star::awt::Point& aPos )
+throw (::com::sun::star::uno::RuntimeException)
{
- if ( m_pController.is() )
- m_pController.getRef()->doubleClick();
+ if ( m_rController.is() )
+ m_rController->doubleClick( aPos );
}
// -----------------------------------------------------------------------------
void SAL_CALL OStatusbarController::update() throw ( RuntimeException )
{
::svt::StatusbarController::update();
- Reference< XUpdatable > xUp(m_pController.getRef(),UNO_QUERY);
- if ( xUp.is() )
- xUp->update();
+ if ( m_rController.is() )
+ m_rController->update();
}
// -----------------------------------------------------------------------------
// XComponent
void SAL_CALL OStatusbarController::dispose() throw (::com::sun::star::uno::RuntimeException)
{
- Reference< XComponent > xComp( m_pController.getRef(), UNO_QUERY );
- ::comphelper::disposeComponent(xComp);
- m_pController.dispose();
+ if ( m_rController.is() )
+ ::comphelper::disposeComponent( m_rController );
+
svt::StatusbarController::dispose();
}
// =============================================================================
diff --git a/sfx2/source/statbar/stbitem.cxx b/sfx2/source/statbar/stbitem.cxx
index 63c1cdc..6095504 100644
--- a/sfx2/source/statbar/stbitem.cxx
+++ b/sfx2/source/statbar/stbitem.cxx
@@ -387,7 +387,6 @@ throw (::com::sun::star::uno::RuntimeException)
void SAL_CALL SfxStatusBarControl::paint(
const uno::Reference< awt::XGraphics >& xGraphics,
const awt::Rectangle& rOutputRectangle,
- ::sal_Int32 nItemId,
::sal_Int32 nStyle )
throw ( ::uno::RuntimeException )
{
@@ -397,14 +396,14 @@ throw ( ::uno::RuntimeException )
if ( pOutDev )
{
::Rectangle aRect = VCLRectangle( rOutputRectangle );
- UserDrawEvent aUserDrawEvent( pOutDev, aRect, (sal_uInt16)nItemId, (sal_uInt16)nStyle );
+ UserDrawEvent aUserDrawEvent( pOutDev, aRect, pBar->GetCurItemId(), (sal_uInt16)nStyle );
Paint( aUserDrawEvent );
}
}
//--------------------------------------------------------------------
-void SAL_CALL SfxStatusBarControl::click()
+void SAL_CALL SfxStatusBarControl::click( const awt::Point& )
throw ( uno::RuntimeException )
{
SolarMutexGuard aGuard;
@@ -413,7 +412,7 @@ throw ( uno::RuntimeException )
//--------------------------------------------------------------------
-void SAL_CALL SfxStatusBarControl::doubleClick()
+void SAL_CALL SfxStatusBarControl::doubleClick( const awt::Point& )
throw ( uno::RuntimeException )
{
SolarMutexGuard aGuard;
diff --git a/svtools/source/uno/statusbarcontroller.cxx b/svtools/source/uno/statusbarcontroller.cxx
index cee30a4..d93feed 100644
--- a/svtools/source/uno/statusbarcontroller.cxx
+++ b/svtools/source/uno/statusbarcontroller.cxx
@@ -30,7 +30,7 @@
#include <vcl/status.hxx>
#include <svtools/imgdef.hxx>
#include <svtools/miscopt.hxx>
-#include <toolkit/unohlp.hxx>
+#include <toolkit/helper/vclunohelper.hxx>
#include <comphelper/processfactory.hxx>
using namespace ::cppu;
@@ -153,6 +153,8 @@ throw ( Exception, RuntimeException )
aPropValue.Value >>= m_xParentWindow;
else if ( aPropValue.Name == "Identifier" )
aPropValue.Value >>= m_nID;
+ else if ( aPropValue.Name == "StatusbarItem" )
+ aPropValue.Value >>= m_xStatusbarItem;
}
}
@@ -220,6 +222,7 @@ throw (::com::sun::star::uno::RuntimeException)
m_xServiceManager.clear();
m_xFrame.clear();
m_xParentWindow.clear();
+ m_xStatusbarItem.clear();
m_bDisposed = sal_True;
}
@@ -240,26 +243,31 @@ throw ( RuntimeException )
void SAL_CALL StatusbarController::disposing( const EventObject& Source )
throw ( RuntimeException )
{
- Reference< XInterface > xSource( Source.Source );
-
SolarMutexGuard aSolarMutexGuard;
if ( m_bDisposed )
return;
+ Reference< XFrame > xFrame( Source.Source, UNO_QUERY );
+ if ( xFrame.is() )
+ {
+ if ( xFrame == m_xFrame )
+ m_xFrame.clear();
+ return;
+ }
+
+ Reference< XDispatch > xDispatch( Source.Source, UNO_QUERY );
+ if ( !xDispatch.is() )
+ return;
+
URLToDispatchMap::iterator pIter = m_aListenerMap.begin();
while ( pIter != m_aListenerMap.end() )
{
// Compare references and release dispatch references if they are equal.
- Reference< XInterface > xIfac( pIter->second, UNO_QUERY );
- if ( xSource == xIfac )
+ if ( xDispatch == pIter->second )
pIter->second.clear();
++pIter;
}
-
- Reference< XInterface > xIfac( m_xFrame, UNO_QUERY );
- if ( xIfac == xSource )
- m_xFrame.clear();
}
// XStatusListener
@@ -318,18 +326,17 @@ throw (::com::sun::star::uno::RuntimeException)
void SAL_CALL StatusbarController::paint(
const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XGraphics >&,
const ::com::sun::star::awt::Rectangle&,
- ::sal_Int32,
::sal_Int32 )
throw (::com::sun::star::uno::RuntimeException)
{
}
-void SAL_CALL StatusbarController::click()
+void SAL_CALL StatusbarController::click( const ::com::sun::star::awt::Point& )
throw (::com::sun::star::uno::RuntimeException)
{
}
-void SAL_CALL StatusbarController::doubleClick() throw (::com::sun::star::uno::RuntimeException)
+void SAL_CALL StatusbarController::doubleClick( const ::com::sun::star::awt::Point& ) throw (::com::sun::star::uno::RuntimeException)
{
SolarMutexGuard aSolarMutexGuard;
@@ -465,37 +472,29 @@ void StatusbarController::bindListener()
}
// Call without locked mutex as we are called back from dispatch implementation
- if ( xStatusListener.is() )
+ if ( !xStatusListener.is() )
+ return;
+
+ for ( sal_uInt32 i = 0; i < aDispatchVector.size(); i++ )
{
try
{
- for ( sal_uInt32 i = 0; i < aDispatchVector.size(); i++ )
+ Listener& rListener = aDispatchVector[i];
+ if ( rListener.xDispatch.is() )
+ rListener.xDispatch->addStatusListener( xStatusListener, rListener.aURL );
+ else if ( rListener.aURL.Complete == m_aCommandURL )
{
- Listener& rListener = aDispatchVector[i];
- if ( rListener.xDispatch.is() )
- rListener.xDispatch->addStatusListener( xStatusListener, rListener.aURL );
- else if ( rListener.aURL.Complete == m_aCommandURL )
- {
- try
- {
- // Send status changed for the main URL, if we cannot get a valid dispatch object.
- // UI disables the button. Catch exception as we release our mutex, it is possible
- // that someone else already disposed this instance!
- FeatureStateEvent aFeatureStateEvent;
- aFeatureStateEvent.IsEnabled = sal_False;
- aFeatureStateEvent.FeatureURL = rListener.aURL;
- aFeatureStateEvent.State = Any();
- xStatusListener->statusChanged( aFeatureStateEvent );
- }
- catch ( Exception& )
- {
- }
- }
+ // Send status changed for the main URL, if we cannot get a valid dispatch object.
+ // UI disables the button. Catch exception as we release our mutex, it is possible
+ // that someone else already disposed this instance!
+ FeatureStateEvent aFeatureStateEvent;
+ aFeatureStateEvent.IsEnabled = sal_False;
+ aFeatureStateEvent.FeatureURL = rListener.aURL;
+ aFeatureStateEvent.State = Any();
+ xStatusListener->statusChanged( aFeatureStateEvent );
}
}
- catch ( Exception& )
- {
- }
+ catch ( ... ){}
}
}
commit cfaac477e2a23880310070690beb3222b1c8227c
Author: Ariel Constenla-Haile <arielch at apache.org>
Date: Thu Dec 6 12:29:24 2012 +0000
Related: #i121442# support status bar merging and StatusbarControllers
framework refactoring and new code to support status bar merging and UNO
StatusbarControllers
(cherry picked from commit 0b3a77478cf2cfd245a87bc528f851e959a2e6c7)
Conflicts:
framework/source/uielement/statusbarmanager.cxx
framework/source/uielement/toolbarmerger.cxx
Change-Id: I334a220ff27bb365e98a0ebd8bc6e55d65e76d64
diff --git a/framework/Library_fwk.mk b/framework/Library_fwk.mk
index d181814..2a53057 100644
--- a/framework/Library_fwk.mk
+++ b/framework/Library_fwk.mk
@@ -135,6 +135,7 @@ $(eval $(call gb_Library_add_exception_objects,fwk,\
framework/source/uielement/controlmenucontroller \
framework/source/uielement/dropdownboxtoolbarcontroller \
framework/source/uielement/edittoolbarcontroller \
+ framework/source/uielement/genericstatusbarcontroller \
framework/source/uielement/generictoolbarcontroller \
framework/source/uielement/imagebuttontoolbarcontroller \
framework/source/uielement/langselectionstatusbarcontroller \
@@ -146,7 +147,9 @@ $(eval $(call gb_Library_add_exception_objects,fwk,\
framework/source/uielement/recentfilesmenucontroller \
framework/source/uielement/spinfieldtoolbarcontroller \
framework/source/uielement/statusbar \
+ framework/source/uielement/statusbaritem \
framework/source/uielement/statusbarmanager \
+ framework/source/uielement/statusbarmerger \
framework/source/uielement/statusbarwrapper \
framework/source/uielement/statusindicatorinterfacewrapper \
framework/source/uielement/togglebuttontoolbarcontroller \
diff --git a/framework/inc/uielement/genericstatusbarcontroller.hxx b/framework/inc/uielement/genericstatusbarcontroller.hxx
new file mode 100644
index 0000000..3f73df8
--- /dev/null
+++ b/framework/inc/uielement/genericstatusbarcontroller.hxx
@@ -0,0 +1,57 @@
+/*
+ * 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 __FRAMEWORK_UIELEMENT_GENERICSTATUSBARCONTROLLER_HXX_
+#define __FRAMEWORK_UIELEMENT_GENERICSTATUSBARCONTROLLER_HXX_
+
+#include <svtools/statusbarcontroller.hxx>
+
+#include <com/sun/star/graphic/XGraphic.hpp>
+
+namespace framework
+{
+
+class AddonStatusbarItemData;
+
+class GenericStatusbarController : public svt::StatusbarController
+{
+ public:
+ GenericStatusbarController( const com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >& rServiceManager,
+ const com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rFrame,
+ const com::sun::star::uno::Reference< com::sun::star::ui::XStatusbarItem >& rxItem,
+ AddonStatusbarItemData *pItemData );
+ virtual ~GenericStatusbarController();
+
+ // XComponent
+ virtual void SAL_CALL dispose() throw ( ::com::sun::star::uno::RuntimeException );
+ // XStatusListener
+ virtual void SAL_CALL statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw ( ::com::sun::star::uno::RuntimeException );
+
+ virtual void SAL_CALL paint( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XGraphics >& xGraphics,
+ const ::com::sun::star::awt::Rectangle& rOutputRectangle,
+ ::sal_Int32 nStyle ) throw (::com::sun::star::uno::RuntimeException);
+
+ protected:
+ sal_Bool m_bEnabled;
+ sal_Bool m_bOwnerDraw;
+ AddonStatusbarItemData *m_pItemData;
+ ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic > m_xGraphic;
+};
+
+}
+
+#endif
diff --git a/framework/inc/uielement/statusbaritem.hxx b/framework/inc/uielement/statusbaritem.hxx
new file mode 100644
index 0000000..6e5d2fc
--- /dev/null
+++ b/framework/inc/uielement/statusbaritem.hxx
@@ -0,0 +1,79 @@
+/*
+ * 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 __FRAMEWORK_UIELEMENT_STATUSBARITEM_HXX_
+#define __FRAMEWORK_UIELEMENT_STATUSBARITEM_HXX_
+
+#include <com/sun/star/ui/XStatusbarItem.hpp>
+#include <cppuhelper/compbase1.hxx>
+#include <cppuhelper/basemutex.hxx>
+
+class StatusBar;
+
+namespace framework
+{
+
+struct AddonStatusbarItemData;
+
+typedef cppu::WeakComponentImplHelper1< com::sun::star::ui::XStatusbarItem > StatusbarItem_Base;
+
+class StatusbarItem : protected cppu::BaseMutex,
+ public StatusbarItem_Base
+{
+public:
+ explicit StatusbarItem(
+ StatusBar *pStatusBar,
+ AddonStatusbarItemData *pItemData,
+ sal_uInt16 nId,
+ const rtl::OUString& aCommand );
+ ~StatusbarItem();
+
+ void SAL_CALL disposing();
+
+ // com::sun::star::ui::XStatusbarItem Attributes
+ virtual ::rtl::OUString SAL_CALL getCommand() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_uInt16 SAL_CALL getItemId() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_uInt32 SAL_CALL getWidth() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_uInt16 SAL_CALL getStyle() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Int32 SAL_CALL getOffset() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::awt::Rectangle SAL_CALL getItemRect() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getText() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setText( const rtl::OUString& rText ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getHelpText() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setHelpText( const rtl::OUString& rHelpText ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getQuickHelpText() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setQuickHelpText( const rtl::OUString& rQuickHelpText ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getAccessibleName() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setAccessibleName( const rtl::OUString& rAccessibleName ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL getVisible() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setVisible( sal_Bool bVisible ) throw (::com::sun::star::uno::RuntimeException);
+
+ // com::sun::star::ui::XStatusbarItem Methods
+ virtual void SAL_CALL repaint( ) throw (::com::sun::star::uno::RuntimeException);
+
+private:
+ StatusBar *m_pStatusBar;
+ AddonStatusbarItemData *m_pItemData;
+ sal_uInt16 m_nId;
+ sal_uInt16 m_nStyle;
+ rtl::OUString m_aCommand;
+
+};
+
+}
+
+#endif
diff --git a/framework/inc/uielement/statusbarmanager.hxx b/framework/inc/uielement/statusbarmanager.hxx
index 4c88c96..26cc183 100644
--- a/framework/inc/uielement/statusbarmanager.hxx
+++ b/framework/inc/uielement/statusbarmanager.hxx
@@ -39,6 +39,7 @@
#include <cppuhelper/weak.hxx>
#include <cppuhelper/interfacecontainer.hxx>
#include <vcl/status.hxx>
+#include <map>
namespace framework
{
@@ -103,7 +104,7 @@ class StatusBarManager : public ::com::sun::star::frame::XFrameActionListener
void MouseButton( const MouseEvent& rMEvt ,sal_Bool ( SAL_CALL ::com::sun::star::frame::XStatusbarController::*_pMethod )(const ::com::sun::star::awt::MouseEvent&));
protected:
- typedef std::vector< ::com::sun::star::uno::Reference< com::sun::star::frame::XStatusListener > > StatusBarControllerVector;
+ typedef std::map< sal_uInt16, ::com::sun::star::uno::Reference< com::sun::star::frame::XStatusListener > > StatusBarControllerMap;
sal_Bool m_bDisposed : 1,
m_bFrameActionRegistered : 1,
@@ -114,7 +115,7 @@ class StatusBarManager : public ::com::sun::star::frame::XFrameActionListener
OUString m_aResourceName;
com::sun::star::uno::Reference< com::sun::star::frame::XFrame > m_xFrame;
com::sun::star::uno::Reference< com::sun::star::container::XNameAccess > m_xUICommandLabels;
- StatusBarControllerVector m_aControllerVector;
+ StatusBarControllerMap m_aControllerMap;
::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; /// container for ALL Listener
::com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory > m_xServiceManager;
::com::sun::star::uno::Reference< ::com::sun::star::frame::XUIControllerRegistration > m_xStatusbarControllerRegistration;
diff --git a/framework/inc/uielement/statusbarmerger.hxx b/framework/inc/uielement/statusbarmerger.hxx
new file mode 100644
index 0000000..6187913
--- /dev/null
+++ b/framework/inc/uielement/statusbarmerger.hxx
@@ -0,0 +1,81 @@
+/*
+ * 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 __FRAMEWORK_UIELEMENT_STATUSBARMERGER_HXX_
+#define __FRAMEWORK_UIELEMENT_STATUSBARMERGER_HXX_
+
+#include <com/sun/star/beans/PropertyValue.hpp>
+#include <rtl/ustring.hxx>
+#include <uielement/statusbar.hxx>
+
+namespace framework
+{
+
+struct AddonStatusbarItemData
+{
+ rtl::OUString aLabel;
+ sal_uInt16 nItemBits;
+};
+
+struct AddonStatusbarItem
+{
+ rtl::OUString aCommandURL;
+ rtl::OUString aLabel;
+ rtl::OUString aContext;
+ sal_uInt16 nItemBits;
+ sal_Int16 nWidth;
+};
+
+typedef ::std::vector< AddonStatusbarItem > AddonStatusbarItemContainer;
+
+class StatusbarMerger
+{
+public:
+ static bool IsCorrectContext( const ::rtl::OUString& aContext,
+ const ::rtl::OUString& aModuleIdentifier );
+
+ static bool ConvertSeqSeqToVector( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > > &rSequence,
+ AddonStatusbarItemContainer& rContainer );
+
+ static sal_uInt16 FindReferencePos( StatusBar* pStatusbar,
+ const ::rtl::OUString& rReferencePoint );
+
+ static bool ProcessMergeOperation( StatusBar* pStatusbar,
+ sal_uInt16 nPos,
+ sal_uInt16& rItemId,
+ const ::rtl::OUString& rModuleIdentifier,
+ const ::rtl::OUString& rMergeCommand,
+ const ::rtl::OUString& rMergeCommandParameter,
+ const AddonStatusbarItemContainer& rItems );
+
+ static bool ProcessMergeFallback( StatusBar* pStatusbar,
+ sal_uInt16 nPos,
+ sal_uInt16& rItemId,
+ const ::rtl::OUString& rModuleIdentifier,
+ const ::rtl::OUString& rMergeCommand,
+ const ::rtl::OUString& rMergeFallback,
+ const AddonStatusbarItemContainer& rItems );
+
+private:
+ StatusbarMerger();
+ StatusbarMerger( const StatusbarMerger& );
+ StatusbarMerger& operator=( const StatusbarMerger& );
+};
+
+}
+
+#endif
diff --git a/framework/source/uielement/genericstatusbarcontroller.cxx b/framework/source/uielement/genericstatusbarcontroller.cxx
new file mode 100644
index 0000000..4b4d721
--- /dev/null
+++ b/framework/source/uielement/genericstatusbarcontroller.cxx
@@ -0,0 +1,163 @@
+/*
+ * 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 .
+ */
+
+#include <uielement/genericstatusbarcontroller.hxx>
+#include <uielement/statusbarmerger.hxx>
+
+#include <vcl/svapp.hxx>
+#include <vcl/status.hxx>
+#include <vcl/image.hxx>
+#include <toolkit/helper/vclunohelper.hxx>
+#include <toolkit/helper/convert.hxx>
+
+#include <com/sun/star/ui/ItemStyle.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/awt/ImageDrawMode.hpp>
+#include <com/sun/star/awt/XGraphics2.hpp>
+#include <com/sun/star/graphic/GraphicType.hpp>
+
+using ::rtl::OUString;
+
+using namespace ::cppu;
+using namespace ::com::sun::star;
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::lang;
+using namespace ::com::sun::star::frame;
+
+namespace framework
+{
+
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list