openoffice-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From stev...@apache.org
Subject svn commit: r1418198 [1/4] - in /openoffice/branches/ia2: ./ main/ main/framework/ main/framework/inc/ main/framework/inc/classes/ main/framework/inc/framework/ main/framework/inc/uielement/ main/framework/source/classes/ main/framework/source/fwe/clas...
Date Fri, 07 Dec 2012 06:37:13 GMT
Author: steve_y
Date: Fri Dec  7 06:37:02 2012
New Revision: 1418198

URL: http://svn.apache.org/viewvc?rev=1418198&view=rev
Log:
Updated to rev. 1418192

Added:
    openoffice/branches/ia2/main/framework/inc/uielement/genericstatusbarcontroller.hxx
      - copied unchanged from r1418192, openoffice/trunk/main/framework/inc/uielement/genericstatusbarcontroller.hxx
    openoffice/branches/ia2/main/framework/inc/uielement/statusbaritem.hxx
      - copied unchanged from r1418192, openoffice/trunk/main/framework/inc/uielement/statusbaritem.hxx
    openoffice/branches/ia2/main/framework/inc/uielement/statusbarmerger.hxx
      - copied unchanged from r1418192, openoffice/trunk/main/framework/inc/uielement/statusbarmerger.hxx
    openoffice/branches/ia2/main/framework/source/uielement/genericstatusbarcontroller.cxx
      - copied unchanged from r1418192, openoffice/trunk/main/framework/source/uielement/genericstatusbarcontroller.cxx
    openoffice/branches/ia2/main/framework/source/uielement/statusbaritem.cxx
      - copied unchanged from r1418192, openoffice/trunk/main/framework/source/uielement/statusbaritem.cxx
    openoffice/branches/ia2/main/framework/source/uielement/statusbarmerger.cxx
      - copied unchanged from r1418192, openoffice/trunk/main/framework/source/uielement/statusbarmerger.cxx
    openoffice/branches/ia2/main/odk/examples/cpp/StatusbarController/
      - copied from r1418192, openoffice/trunk/main/odk/examples/cpp/StatusbarController/
    openoffice/branches/ia2/main/odk/settings/platform.mk
      - copied unchanged from r1418192, openoffice/trunk/main/odk/settings/platform.mk
    openoffice/branches/ia2/main/offapi/com/sun/star/awt/ImageDrawMode.idl
      - copied unchanged from r1418192, openoffice/trunk/main/offapi/com/sun/star/awt/ImageDrawMode.idl
    openoffice/branches/ia2/main/offapi/com/sun/star/ui/XStatusbarItem.idl
      - copied unchanged from r1418192, openoffice/trunk/main/offapi/com/sun/star/ui/XStatusbarItem.idl
Removed:
    openoffice/branches/ia2/main/framework/inc/uielement/logoimagestatusbarcontroller.hxx
    openoffice/branches/ia2/main/framework/inc/uielement/logotextstatusbarcontroller.hxx
    openoffice/branches/ia2/main/framework/inc/uielement/simpletextstatusbarcontroller.hxx
    openoffice/branches/ia2/main/framework/source/uielement/logoimagestatusbarcontroller.cxx
    openoffice/branches/ia2/main/framework/source/uielement/logotextstatusbarcontroller.cxx
    openoffice/branches/ia2/main/framework/source/uielement/simpletextstatusbarcontroller.cxx
    openoffice/branches/ia2/main/odk/setsdkenv_unix.csh.in
Modified:
    openoffice/branches/ia2/   (props changed)
    openoffice/branches/ia2/main/extensions.lst
    openoffice/branches/ia2/main/framework/Library_fwk.mk
    openoffice/branches/ia2/main/framework/Library_fwl.mk
    openoffice/branches/ia2/main/framework/inc/classes/resource.hrc
    openoffice/branches/ia2/main/framework/inc/framework/addonsoptions.hxx
    openoffice/branches/ia2/main/framework/inc/services.h
    openoffice/branches/ia2/main/framework/inc/uielement/langselectionstatusbarcontroller.hxx
    openoffice/branches/ia2/main/framework/inc/uielement/statusbarmanager.hxx
    openoffice/branches/ia2/main/framework/source/classes/resource.src
    openoffice/branches/ia2/main/framework/source/fwe/classes/addonsoptions.cxx
    openoffice/branches/ia2/main/framework/source/register/registerservices.cxx
    openoffice/branches/ia2/main/framework/source/register/registertemp.cxx
    openoffice/branches/ia2/main/framework/source/uielement/langselectionstatusbarcontroller.cxx
    openoffice/branches/ia2/main/framework/source/uielement/statusbarmanager.cxx
    openoffice/branches/ia2/main/framework/source/uielement/toolbarmerger.cxx
    openoffice/branches/ia2/main/framework/util/fwl.component
    openoffice/branches/ia2/main/odk/cfgWin.js
    openoffice/branches/ia2/main/odk/configure.pl
    openoffice/branches/ia2/main/odk/docs/install.html
    openoffice/branches/ia2/main/odk/examples/cpp/custompanel/Makefile
    openoffice/branches/ia2/main/odk/examples/examples.html
    openoffice/branches/ia2/main/odk/pack/copying/makefile.mk
    openoffice/branches/ia2/main/odk/setsdkenv_unix
    openoffice/branches/ia2/main/odk/setsdkenv_unix.sh.in
    openoffice/branches/ia2/main/odk/setsdkenv_windows.template
    openoffice/branches/ia2/main/odk/settings/settings.mk
    openoffice/branches/ia2/main/odk/settings/std.mk
    openoffice/branches/ia2/main/odk/util/check.pl
    openoffice/branches/ia2/main/odk/util/makefile.pmk
    openoffice/branches/ia2/main/offapi/com/sun/star/awt/XGraphics.idl
    openoffice/branches/ia2/main/offapi/com/sun/star/awt/makefile.mk
    openoffice/branches/ia2/main/offapi/com/sun/star/frame/StatusbarController.idl
    openoffice/branches/ia2/main/offapi/com/sun/star/frame/XStatusbarController.idl
    openoffice/branches/ia2/main/offapi/com/sun/star/ui/makefile.mk
    openoffice/branches/ia2/main/offapi/type_reference/typelibrary_history.txt
    openoffice/branches/ia2/main/offapi/type_reference/types.rdb
    openoffice/branches/ia2/main/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu
    openoffice/branches/ia2/main/officecfg/registry/schema/org/openoffice/Office/Addons.xcs
    openoffice/branches/ia2/main/reportdesign/source/ui/inc/statusbarcontroller.hxx
    openoffice/branches/ia2/main/reportdesign/source/ui/misc/statusbarcontroller.cxx
    openoffice/branches/ia2/main/sc/source/core/tool/interpr1.cxx
    openoffice/branches/ia2/main/sfx2/inc/sfx2/stbitem.hxx
    openoffice/branches/ia2/main/sfx2/source/statbar/stbitem.cxx
    openoffice/branches/ia2/main/svtools/inc/svtools/statusbarcontroller.hxx
    openoffice/branches/ia2/main/svtools/source/uno/statusbarcontroller.cxx
    openoffice/branches/ia2/main/toolkit/inc/toolkit/awt/vclxgraphics.hxx
    openoffice/branches/ia2/main/toolkit/source/awt/vclxgraphics.cxx
    openoffice/branches/ia2/main/vcl/inc/vcl/status.hxx
    openoffice/branches/ia2/main/vcl/source/window/status.cxx

Propchange: openoffice/branches/ia2/
------------------------------------------------------------------------------
  Merged /openoffice/trunk:r1417536-1418192

Modified: openoffice/branches/ia2/main/extensions.lst
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/extensions.lst?rev=1418198&r1=1418197&r2=1418198&view=diff
==============================================================================
--- openoffice/branches/ia2/main/extensions.lst (original)
+++ openoffice/branches/ia2/main/extensions.lst Fri Dec  7 06:37:02 2012
@@ -74,6 +74,7 @@
 # Danish dictionary.
 [ language=da ]
     b38cba04b6513dd42b031199d617cce6 http://sourceforge.net/projects/aoo-extensions/files/1388/12/DanskeSynonymer.oxt/download "DanskeSynonymer.oxt"
+    6ee1e24fb17e44577d8e3200f3e44adc http://sourceforge.net/projects/aoo-extensions/files/1429/6/dict-da-current.oxt/download "dict-da-current.oxt"
 
 # Norwegian dictionary.
 [ language=no ]

Modified: openoffice/branches/ia2/main/framework/Library_fwk.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/framework/Library_fwk.mk?rev=1418198&r1=1418197&r2=1418198&view=diff
==============================================================================
--- openoffice/branches/ia2/main/framework/Library_fwk.mk (original)
+++ openoffice/branches/ia2/main/framework/Library_fwk.mk Fri Dec  7 06:37:02 2012
@@ -145,6 +145,7 @@ $(eval $(call gb_Library_add_exception_o
 	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 \
@@ -158,7 +159,9 @@ $(eval $(call gb_Library_add_exception_o
 	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 \

Modified: openoffice/branches/ia2/main/framework/Library_fwl.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/framework/Library_fwl.mk?rev=1418198&r1=1418197&r2=1418198&view=diff
==============================================================================
--- openoffice/branches/ia2/main/framework/Library_fwl.mk (original)
+++ openoffice/branches/ia2/main/framework/Library_fwl.mk Fri Dec  7 06:37:02 2012
@@ -71,12 +71,9 @@ $(eval $(call gb_Library_add_exception_o
 	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 \
 ))
 

Modified: openoffice/branches/ia2/main/framework/inc/classes/resource.hrc
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/framework/inc/classes/resource.hrc?rev=1418198&r1=1418197&r2=1418198&view=diff
==============================================================================
--- openoffice/branches/ia2/main/framework/inc/classes/resource.hrc (original)
+++ openoffice/branches/ia2/main/framework/inc/classes/resource.hrc Fri Dec  7 06:37:02 2012
@@ -37,7 +37,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)
@@ -64,8 +64,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)

Modified: openoffice/branches/ia2/main/framework/inc/framework/addonsoptions.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/framework/inc/framework/addonsoptions.hxx?rev=1418198&r1=1418197&r2=1418198&view=diff
==============================================================================
--- openoffice/branches/ia2/main/framework/inc/framework/addonsoptions.hxx (original)
+++ openoffice/branches/ia2/main/framework/inc/framework/addonsoptions.hxx Fri Dec  7 06:37:02 2012
@@ -52,6 +52,10 @@
 #define ADDONSMENUITEM_STRING_CONTROLTYPE               "ControlType"
 #define ADDONSMENUITEM_STRING_WIDTH                     "Width"
 
+#define STATUSBARITEM_STRING_ALIGN                      "Alignment"
+#define STATUSBARITEM_STRING_AUTOSIZE                   "AutoSize"
+#define STATUSBARITEM_STRING_OWNERDRAW                  "OwnerDraw"
+
 #define ADDONSMENUITEM_URL_LEN                          3
 #define ADDONSMENUITEM_TITLE_LEN                        5
 #define ADDONSMENUITEM_TARGET_LEN                       6
@@ -68,6 +72,10 @@
 #define ADDONSMENUITEM_PROPERTYNAME_CONTROLTYPE         ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_CONTROLTYPE     ))
 #define ADDONSMENUITEM_PROPERTYNAME_WIDTH               ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_WIDTH           ))
 
+#define STATUSBARITEM_PROPERTYNAME_ALIGN                ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(STATUSBARITEM_STRING_ALIGN            ))
+#define STATUSBARITEM_PROPERTYNAME_AUTOSIZE             ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(STATUSBARITEM_STRING_AUTOSIZE         ))
+#define STATUSBARITEM_PROPERTYNAME_OWNERDRAW            ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(STATUSBARITEM_STRING_OWNERDRAW        ))
+
 #define ADDONSPOPUPMENU_URL_PREFIX_STR                  "private:menu/Addon"
 
 #define ADDONSPOPUPMENU_URL_PREFIX                      ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( ADDONSPOPUPMENU_URL_PREFIX_STR ))
@@ -101,6 +109,18 @@ struct FWE_DLLPUBLIC MergeToolbarInstruc
 
 typedef ::std::vector< MergeToolbarInstruction > MergeToolbarInstructionContainer;
 
+struct FWE_DLLPUBLIC MergeStatusbarInstruction
+{
+    ::rtl::OUString     aMergePoint;
+    ::rtl::OUString     aMergeCommand;
+    ::rtl::OUString     aMergeCommandParameter;
+    ::rtl::OUString     aMergeFallback;
+    ::rtl::OUString     aMergeContext;
+    ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > > aMergeStatusbarItems;
+};
+
+typedef ::std::vector< MergeStatusbarInstruction > MergeStatusbarInstructionContainer;
+
 //_________________________________________________________________________________________________________________
 //  forward declarations
 //_________________________________________________________________________________________________________________
@@ -284,6 +304,8 @@ class FWE_DLLPUBLIC AddonsOptions
         *//*-*****************************************************************************************************/
         bool GetMergeToolbarInstructions( const ::rtl::OUString& rToolbarName, MergeToolbarInstructionContainer& rToolbar ) const;
 
+        const MergeStatusbarInstructionContainer& GetMergeStatusbarInstructions() const;
+
         /*-****************************************************************************************************//**
             @short      Gets the Add-On help menu part of all addon components registered 
             @descr      -

Modified: openoffice/branches/ia2/main/framework/inc/services.h
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/framework/inc/services.h?rev=1418198&r1=1418197&r2=1418198&view=diff
==============================================================================
--- openoffice/branches/ia2/main/framework/inc/services.h (original)
+++ openoffice/branches/ia2/main/framework/inc/services.h Fri Dec  7 06:37:02 2012
@@ -195,13 +195,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"  )

Modified: openoffice/branches/ia2/main/framework/inc/uielement/langselectionstatusbarcontroller.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/framework/inc/uielement/langselectionstatusbarcontroller.hxx?rev=1418198&r1=1418197&r2=1418198&view=diff
==============================================================================
--- openoffice/branches/ia2/main/framework/inc/uielement/langselectionstatusbarcontroller.hxx (original)
+++ openoffice/branches/ia2/main/framework/inc/uielement/langselectionstatusbarcontroller.hxx Fri Dec  7 06:37:02 2012
@@ -49,39 +49,21 @@ class LangSelectionStatusbarController :
         explicit LangSelectionStatusbarController( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceManager );
 
         // 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 ();
+        DECLARE_XSERVICEINFO
 
         // 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, 
+        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() {}
         LangSelectionStatusbarController(LangSelectionStatusbarController &); // not defined
@@ -95,7 +77,7 @@ class LangSelectionStatusbarController :
         ::rtl::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

Modified: openoffice/branches/ia2/main/framework/inc/uielement/statusbarmanager.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/framework/inc/uielement/statusbarmanager.hxx?rev=1418198&r1=1418197&r2=1418198&view=diff
==============================================================================
--- openoffice/branches/ia2/main/framework/inc/uielement/statusbarmanager.hxx (original)
+++ openoffice/branches/ia2/main/framework/inc/uielement/statusbarmanager.hxx Fri Dec  7 06:37:02 2012
@@ -53,6 +53,7 @@
 #include <cppuhelper/weak.hxx>
 #include <cppuhelper/interfacecontainer.hxx>
 #include <vcl/status.hxx>
+#include <map>
 
 namespace framework
 {
@@ -117,7 +118,7 @@ class StatusBarManager : public ::com::s
         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,
@@ -128,7 +129,7 @@ class StatusBarManager : public ::com::s
         rtl::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;

Modified: openoffice/branches/ia2/main/framework/source/classes/resource.src
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/framework/source/classes/resource.src?rev=1418198&r1=1418197&r2=1418198&view=diff
==============================================================================
--- openoffice/branches/ia2/main/framework/source/classes/resource.src (original)
+++ openoffice/branches/ia2/main/framework/source/classes/resource.src Fri Dec  7 06:37:02 2012
@@ -128,11 +128,6 @@ String STR_TOOLBAR_TITLE_ADDON
     Text [ en-US ] = "Add-On %num%";
 };
 
-String STR_STATUSBAR_LOGOTEXT
-{
-    Text [ en-US ] = "A %PRODUCTNAME product by Oracle";
-};
-
 // ***********************************************************************
 //       License Dialog
 // ***********************************************************************
@@ -285,12 +280,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" ;

Modified: openoffice/branches/ia2/main/framework/source/fwe/classes/addonsoptions.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/framework/source/fwe/classes/addonsoptions.cxx?rev=1418198&r1=1418197&r2=1418198&view=diff
==============================================================================
--- openoffice/branches/ia2/main/framework/source/fwe/classes/addonsoptions.cxx (original)
+++ openoffice/branches/ia2/main/framework/source/fwe/classes/addonsoptions.cxx Fri Dec  7 06:37:02 2012
@@ -80,6 +80,10 @@ using namespace ::com::sun::star::lang	;
 #define PROPERTYNAME_CONTROLTYPE                        ADDONSMENUITEM_PROPERTYNAME_CONTROLTYPE
 #define PROPERTYNAME_WIDTH                              ADDONSMENUITEM_PROPERTYNAME_WIDTH
 
+#define PROPERTYNAME_ALIGN                              STATUSBARITEM_PROPERTYNAME_ALIGN
+#define PROPERTYNAME_AUTOSIZE                           STATUSBARITEM_PROPERTYNAME_AUTOSIZE
+#define PROPERTYNAME_OWNERDRAW                          STATUSBARITEM_PROPERTYNAME_OWNERDRAW
+
 #define PROPERTYNAME_IMAGESMALL							::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageSmall" ))
 #define PROPERTYNAME_IMAGEBIG							::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageBig" ))
 #define PROPERTYNAME_IMAGESMALLHC						::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageSmallHC" ))
@@ -108,16 +112,26 @@ using namespace ::com::sun::star::lang	;
 #define PROPERTYNAME_MERGETOOLBAR_MERGECONTEXT          ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeContext" ))
 #define PROPERTYNAME_MERGETOOLBAR_TOOLBARITEMS          ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ToolBarItems" ))
 
+#define PROPERTYNAME_MERGESTATUSBAR_MERGEPOINT               ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergePoint" ))
+#define PROPERTYNAME_MERGESTATUSBAR_MERGECOMMAND             ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeCommand" ))
+#define PROPERTYNAME_MERGESTATUSBAR_MERGECOMMANDPARAMETER    ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeCommandParameter" ))
+#define PROPERTYNAME_MERGESTATUSBAR_MERGEFALLBACK            ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeFallback" ))
+#define PROPERTYNAME_MERGESTATUSBAR_MERGECONTEXT             ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeContext" ))
+#define PROPERTYNAME_MERGESTATUSBAR_STATUSBARITEMS           ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("StatusBarItems" ))
+
 // The following order is mandatory. Please add properties at the end!
-#define INDEX_URL             0
-#define INDEX_TITLE           1
-#define INDEX_IMAGEIDENTIFIER 2
-#define INDEX_TARGET		  3
-#define INDEX_CONTEXT		  4
-#define INDEX_SUBMENU		  5
-#define INDEX_CONTROLTYPE     6
-#define INDEX_WIDTH           7
-#define PROPERTYCOUNT_INDEX   8
+#define INDEX_URL               0
+#define INDEX_TITLE             1
+#define INDEX_IMAGEIDENTIFIER   2
+#define INDEX_TARGET            3
+#define INDEX_CONTEXT           4
+#define INDEX_SUBMENU           5
+#define INDEX_CONTROLTYPE       6
+#define INDEX_WIDTH             7
+#define INDEX_ALIGN             8
+#define INDEX_AUTOSIZE          9
+#define INDEX_OWNERDRAW         10
+#define PROPERTYCOUNT_INDEX     11
 
 // The following order is mandatory. Please add properties at the end!
 #define PROPERTYCOUNT_MENUITEM							6
@@ -146,6 +160,17 @@ using namespace ::com::sun::star::lang	;
 #define OFFSET_TOOLBARITEM_WIDTH                        6
 
 // The following order is mandatory. Please add properties at the end!
+#define PROPERTYCOUNT_STATUSBARITEM                     7
+#define OFFSET_STATUSBARITEM_URL                        0
+#define OFFSET_STATUSBARITEM_TITLE                      1
+#define OFFSET_STATUSBARITEM_CONTEXT                    2
+#define OFFSET_STATUSBARITEM_ALIGN                      3
+#define OFFSET_STATUSBARITEM_AUTOSIZE                   4
+#define OFFSET_STATUSBARITEM_OWNERDRAW                  5
+#define OFFSET_STATUSBARITEM_WIDTH                      6
+
+
+// The following order is mandatory. Please add properties at the end!
 #define PROPERTYCOUNT_IMAGES							8
 #define PROPERTYCOUNT_EMBEDDED_IMAGES                   4
 #define OFFSET_IMAGES_SMALL								0
@@ -174,6 +199,14 @@ using namespace ::com::sun::star::lang	;
 #define OFFSET_MERGETOOLBAR_MERGECONTEXT                5
 #define OFFSET_MERGETOOLBAR_TOOLBARITEMS                6
 
+#define PROPERTYCOUNT_MERGE_STATUSBAR                   6
+#define OFFSET_MERGESTATUSBAR_MERGEPOINT                0
+#define OFFSET_MERGESTATUSBAR_MERGECOMMAND              1
+#define OFFSET_MERGESTATUSBAR_MERGECOMMANDPARAMETER     2
+#define OFFSET_MERGESTATUSBAR_MERGEFALLBACK             3
+#define OFFSET_MERGESTATUSBAR_MERGECONTEXT              4
+#define OFFSET_MERGESTATUSBAR_STATUSBARITEMS            5
+
 #define EXPAND_PROTOCOL                                 "vnd.sun.star.expand:"
 
 const Size  aImageSizeSmall( 16, 16 );
@@ -267,7 +300,7 @@ class AddonsOptions_Impl : public Config
 		Image											GetImageFromURL( const rtl::OUString& aURL, sal_Bool bBig, sal_Bool bHiContrast, sal_Bool bNoScale ) const;
         const MergeMenuInstructionContainer&            GetMergeMenuInstructions() const;
         bool                                            GetMergeToolbarInstructions( const ::rtl::OUString& rToolbarName, MergeToolbarInstructionContainer& rToolbarInstructions ) const;
-
+        const MergeStatusbarInstructionContainer&       GetMergeStatusbarInstructions() const;
         void                                            ReadConfigurationData();
 
 	//-------------------------------------------------------------------------------------------------------------
@@ -316,18 +349,21 @@ class AddonsOptions_Impl : public Config
 		sal_Bool			 ReadAddonMenuSet( Sequence< Sequence< PropertyValue > >& aAddonMenuSeq );
 		sal_Bool			 ReadOfficeMenuBarSet( Sequence< Sequence< PropertyValue > >& aAddonOfficeMenuBarSeq );
         sal_Bool			 ReadOfficeToolBarSet( AddonToolBars& rAddonOfficeToolBars, std::vector< rtl::OUString >& rAddonOfficeToolBarResNames );
-		sal_Bool			 ReadToolBarItemSet( const rtl::OUString rToolBarItemSetNodeName, Sequence< Sequence< PropertyValue > >& aAddonOfficeToolBarSeq );
+        sal_Bool			 ReadToolBarItemSet( const rtl::OUString rToolBarItemSetNodeName, Sequence< Sequence< PropertyValue > >& aAddonOfficeToolBarSeq );
 		sal_Bool			 ReadOfficeHelpSet( Sequence< Sequence< PropertyValue > >& aAddonOfficeHelpMenuSeq );
 		sal_Bool			 ReadImages( ImageManager& aImageManager );
         sal_Bool             ReadMenuMergeInstructions( MergeMenuInstructionContainer& rContainer );
         sal_Bool             ReadToolbarMergeInstructions( ToolbarMergingInstructions& rToolbarMergeMap );
+        sal_Bool             ReadStatusbarMergeInstructions( MergeStatusbarInstructionContainer& rContainer );
 
         sal_Bool             ReadMergeMenuData( const ::rtl::OUString& aMergeAddonInstructionBase, Sequence< Sequence< PropertyValue > >& rMergeMenu );
         sal_Bool             ReadMergeToolbarData( const ::rtl::OUString& aMergeAddonInstructionBase, Sequence< Sequence< PropertyValue > >& rMergeToolbarItems );
+        sal_Bool             ReadMergeStatusbarData( const ::rtl::OUString& aMergeAddonInstructionBase, Sequence< Sequence< PropertyValue > >& rMergeStatusbar );
 		sal_Bool			 ReadMenuItem( const ::rtl::OUString& aMenuItemNodeName, Sequence< PropertyValue >& aMenuItem, sal_Bool bIgnoreSubMenu = sal_False );
 		sal_Bool			 ReadPopupMenu( const ::rtl::OUString& aPopupMenuNodeName, Sequence< PropertyValue >& aPopupMenu );
         sal_Bool             AppendPopupMenu( Sequence< PropertyValue >& aTargetPopupMenu, const Sequence< PropertyValue >& rSourcePopupMenu );
 		sal_Bool			 ReadToolBarItem( const ::rtl::OUString& aToolBarItemNodeName, Sequence< PropertyValue >& aToolBarItem );
+        sal_Bool             ReadStatusBarItem( const ::rtl::OUString& aStatusbarItemNodeName, Sequence< PropertyValue >& aStatusbarItem );
 		sal_Bool			 ReadImagesItem( const ::rtl::OUString& aImagesItemNodeName, Sequence< PropertyValue >& aImagesItem );
 		ImageEntry*			 ReadImageData( const ::rtl::OUString& aImagesNodeName );
 		void                 ReadAndAssociateImages( const ::rtl::OUString& aURL, const ::rtl::OUString& aImageId );
@@ -343,6 +379,7 @@ class AddonsOptions_Impl : public Config
         Sequence< ::rtl::OUString > GetPropertyNamesMenuItem( const ::rtl::OUString& aPropertyRootNode ) const;
 		Sequence< ::rtl::OUString > GetPropertyNamesPopupMenu( const ::rtl::OUString& aPropertyRootNode ) const;
 		Sequence< ::rtl::OUString > GetPropertyNamesToolBarItem( const ::rtl::OUString& aPropertyRootNode ) const;
+        Sequence< ::rtl::OUString > GetPropertyNamesStatusbarItem( const ::rtl::OUString& aPropertyRootNode ) const;
 		Sequence< ::rtl::OUString > GetPropertyNamesImages( const ::rtl::OUString& aPropertyRootNode ) const;
 		sal_Bool			 CreateImageFromSequence( Image& rImage, sal_Bool bBig, Sequence< sal_Int8 >& rBitmapDataSeq ) const;
 
@@ -358,6 +395,7 @@ class AddonsOptions_Impl : public Config
 		::rtl::OUString                                          m_aPropImagesNames[PROPERTYCOUNT_IMAGES];
         ::rtl::OUString                                          m_aPropMergeMenuNames[PROPERTYCOUNT_MERGE_MENUBAR];
         ::rtl::OUString                                          m_aPropMergeToolbarNames[PROPERTYCOUNT_MERGE_TOOLBAR];
+        ::rtl::OUString                                          m_aPropMergeStatusbarNames[PROPERTYCOUNT_MERGE_STATUSBAR];
 		::rtl::OUString                                          m_aEmpty;
 		::rtl::OUString                                          m_aPathDelimiter;
 		::rtl::OUString                                          m_aSeparator;
@@ -373,6 +411,7 @@ class AddonsOptions_Impl : public Config
         Sequence< Sequence< PropertyValue > >             m_aEmptyAddonToolBar;
         MergeMenuInstructionContainer                     m_aCachedMergeMenuInsContainer;
         ToolbarMergingInstructions                        m_aCachedToolbarMergingInstructions;
+        MergeStatusbarInstructionContainer                m_aCachedStatusbarMergingInstructions;
 };
 
 //_________________________________________________________________________________________________________________
@@ -400,6 +439,9 @@ AddonsOptions_Impl::AddonsOptions_Impl()
 	m_aPropNames[ INDEX_SUBMENU			] = PROPERTYNAME_SUBMENU; // Submenu set!
     m_aPropNames[ INDEX_CONTROLTYPE     ] = PROPERTYNAME_CONTROLTYPE;
     m_aPropNames[ INDEX_WIDTH           ] = PROPERTYNAME_WIDTH;
+    m_aPropNames[ INDEX_ALIGN           ] = PROPERTYNAME_ALIGN;
+    m_aPropNames[ INDEX_AUTOSIZE        ] = PROPERTYNAME_AUTOSIZE;
+    m_aPropNames[ INDEX_OWNERDRAW       ] = PROPERTYNAME_OWNERDRAW;
 
 	// initialize array with fixed images property names
 	m_aPropImagesNames[ OFFSET_IMAGES_SMALL			] = PROPERTYNAME_IMAGESMALL;
@@ -427,6 +469,13 @@ AddonsOptions_Impl::AddonsOptions_Impl()
     m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_MERGECONTEXT          ] = PROPERTYNAME_MERGETOOLBAR_MERGECONTEXT;
     m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_TOOLBARITEMS          ] = PROPERTYNAME_MERGETOOLBAR_TOOLBARITEMS;
 
+    m_aPropMergeStatusbarNames[ OFFSET_MERGESTATUSBAR_MERGEPOINT            ] = PROPERTYNAME_MERGESTATUSBAR_MERGEPOINT;
+    m_aPropMergeStatusbarNames[ OFFSET_MERGESTATUSBAR_MERGECOMMAND          ] = PROPERTYNAME_MERGESTATUSBAR_MERGECOMMAND;
+    m_aPropMergeStatusbarNames[ OFFSET_MERGESTATUSBAR_MERGECOMMANDPARAMETER ] = PROPERTYNAME_MERGESTATUSBAR_MERGECOMMANDPARAMETER;
+    m_aPropMergeStatusbarNames[ OFFSET_MERGESTATUSBAR_MERGEFALLBACK         ] = PROPERTYNAME_MERGESTATUSBAR_MERGEFALLBACK;
+    m_aPropMergeStatusbarNames[ OFFSET_MERGESTATUSBAR_MERGECONTEXT          ] = PROPERTYNAME_MERGESTATUSBAR_MERGECONTEXT;
+    m_aPropMergeStatusbarNames[ OFFSET_MERGESTATUSBAR_STATUSBARITEMS        ] = PROPERTYNAME_MERGESTATUSBAR_STATUSBARITEMS;
+
     Reference< XComponentContext > xContext;
     Reference< com::sun::star::beans::XPropertySet > xProps( ::comphelper::getProcessServiceFactory(), UNO_QUERY );
     xProps->getPropertyValue( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultContext" ))) >>= xContext;
@@ -471,14 +520,17 @@ void AddonsOptions_Impl::ReadConfigurati
     ReadAddonMenuSet( m_aCachedMenuProperties );
 	ReadOfficeMenuBarSet( m_aCachedMenuBarPartProperties );
 	ReadOfficeToolBarSet( m_aCachedToolBarPartProperties, m_aCachedToolBarPartResourceNames );
+
 	ReadOfficeHelpSet( m_aCachedHelpMenuProperties );
 	ReadImages( m_aImageManager );
 
     m_aCachedMergeMenuInsContainer.clear();
     m_aCachedToolbarMergingInstructions.clear();
+    m_aCachedStatusbarMergingInstructions.clear();
 
     ReadMenuMergeInstructions( m_aCachedMergeMenuInsContainer );
     ReadToolbarMergeInstructions( m_aCachedToolbarMergingInstructions );
+    ReadStatusbarMergeInstructions( m_aCachedStatusbarMergingInstructions );
 }
 
 //*****************************************************************************************************************
@@ -592,6 +644,11 @@ bool AddonsOptions_Impl::GetMergeToolbar
         return false;
 }
 
+const MergeStatusbarInstructionContainer& AddonsOptions_Impl::GetMergeStatusbarInstructions() const
+{
+    return m_aCachedStatusbarMergingInstructions;
+}
+
 //*****************************************************************************************************************
 //	public method
 //*****************************************************************************************************************
@@ -847,6 +904,7 @@ void AddonsOptions_Impl::InsertToolBarSe
 	rAddonOfficeToolBarSeq[nToolBarItemCount] = aToolBarItem;
 }
 
+
 //*****************************************************************************************************************
 //	private method
 //*****************************************************************************************************************
@@ -1094,6 +1152,142 @@ sal_Bool AddonsOptions_Impl::ReadMergeTo
     return ReadToolBarItemSet( aMergeToolbarBaseNode, rMergeToolbarItems );
 }
 
+
+sal_Bool AddonsOptions_Impl::ReadStatusbarMergeInstructions( MergeStatusbarInstructionContainer& aContainer )
+{
+    const ::rtl::OUString aStatusbarMergeRootName( RTL_CONSTASCII_USTRINGPARAM( "AddonUI/OfficeStatusbarMerging/" ));
+
+    Sequence< ::rtl::OUString > aAddonMergeNodesSeq = GetNodeNames( aStatusbarMergeRootName );
+    ::rtl::OUString aAddonMergeNode( aStatusbarMergeRootName );
+    sal_uInt32  nCount = aAddonMergeNodesSeq.getLength();
+
+    Sequence< ::rtl::OUString > aNodePropNames( 5 );
+    ::rtl::OUString aURL;
+
+    for ( sal_uInt32 i = 0; i < nCount; i++ )
+    {
+        ::rtl::OUString aMergeAddonInstructions( aAddonMergeNode + aAddonMergeNodesSeq[i] );
+
+        Sequence< ::rtl::OUString > aAddonInstMergeNodesSeq = GetNodeNames( aMergeAddonInstructions );
+        sal_uInt32 nCountAddons = aAddonInstMergeNodesSeq.getLength();
+
+        for ( sal_uInt32 j = 0; j < nCountAddons; j++ )
+        {
+            ::rtl::OUStringBuffer aMergeAddonInstructionBase( aMergeAddonInstructions );
+            aMergeAddonInstructionBase.append( m_aPathDelimiter );
+            aMergeAddonInstructionBase.append( aAddonInstMergeNodesSeq[j] );
+            aMergeAddonInstructionBase.append( m_aPathDelimiter );
+
+            // Create sequence for data access
+            ::rtl::OUStringBuffer aBuffer( aMergeAddonInstructionBase );
+            aBuffer.append( m_aPropMergeMenuNames[ OFFSET_MERGESTATUSBAR_MERGEPOINT ] );
+            aNodePropNames[0] = aBuffer.makeStringAndClear();
+
+            aBuffer = aMergeAddonInstructionBase;
+            aBuffer.append( m_aPropMergeMenuNames[ OFFSET_MERGESTATUSBAR_MERGECOMMAND ] );
+            aNodePropNames[1] = aBuffer.makeStringAndClear();
+
+            aBuffer = aMergeAddonInstructionBase;
+            aBuffer.append( m_aPropMergeMenuNames[ OFFSET_MERGESTATUSBAR_MERGECOMMANDPARAMETER ] );
+            aNodePropNames[2] = aBuffer.makeStringAndClear();
+
+            aBuffer = aMergeAddonInstructionBase;
+            aBuffer.append( m_aPropMergeMenuNames[ OFFSET_MERGESTATUSBAR_MERGEFALLBACK ] );
+            aNodePropNames[3] = aBuffer.makeStringAndClear();
+
+            aBuffer = aMergeAddonInstructionBase;
+            aBuffer.append( m_aPropMergeMenuNames[ OFFSET_MERGESTATUSBAR_MERGECONTEXT ] );
+            aNodePropNames[4] = aBuffer.makeStringAndClear();
+
+            Sequence< Any > aNodePropValues = GetProperties( aNodePropNames );
+
+            MergeStatusbarInstruction aMergeStatusbarInstruction;
+            aNodePropValues[0] >>= aMergeStatusbarInstruction.aMergePoint;
+            aNodePropValues[1] >>= aMergeStatusbarInstruction.aMergeCommand;
+            aNodePropValues[2] >>= aMergeStatusbarInstruction.aMergeCommandParameter;
+            aNodePropValues[3] >>= aMergeStatusbarInstruction.aMergeFallback;
+            aNodePropValues[4] >>= aMergeStatusbarInstruction.aMergeContext;
+
+            ReadMergeStatusbarData( aMergeAddonInstructionBase.makeStringAndClear(),
+                                    aMergeStatusbarInstruction.aMergeStatusbarItems );
+
+            aContainer.push_back( aMergeStatusbarInstruction );
+        }
+    }
+
+    return sal_True;
+}
+
+sal_Bool AddonsOptions_Impl::ReadMergeStatusbarData(
+    const ::rtl::OUString& aMergeAddonInstructionBase,
+    Sequence< Sequence< PropertyValue > >& rMergeStatusbarItems )
+{
+    sal_uInt32 nStatusbarItemCount = rMergeStatusbarItems.getLength();
+
+    ::rtl::OUStringBuffer aBuffer( aMergeAddonInstructionBase );
+    aBuffer.append( m_aPropMergeStatusbarNames[ OFFSET_MERGESTATUSBAR_STATUSBARITEMS ] );
+    ::rtl::OUString aMergeStatusbarBaseNode = aBuffer.makeStringAndClear();
+
+    ::rtl::OUString aAddonStatusbarItemSetNode( aMergeStatusbarBaseNode + m_aPathDelimiter );
+    Sequence< ::rtl::OUString > aAddonStatusbarItemSetNodeSeq = GetNodeNames( aMergeStatusbarBaseNode );
+
+    Sequence< PropertyValue > aStatusbarItem( PROPERTYCOUNT_STATUSBARITEM );
+    aStatusbarItem[ OFFSET_STATUSBARITEM_URL       ].Name = m_aPropNames[ INDEX_URL       ];
+    aStatusbarItem[ OFFSET_STATUSBARITEM_TITLE     ].Name = m_aPropNames[ INDEX_TITLE     ];
+    aStatusbarItem[ OFFSET_STATUSBARITEM_CONTEXT   ].Name = m_aPropNames[ INDEX_CONTEXT   ];
+    aStatusbarItem[ OFFSET_STATUSBARITEM_ALIGN     ].Name = m_aPropNames[ INDEX_ALIGN     ];
+    aStatusbarItem[ OFFSET_STATUSBARITEM_AUTOSIZE  ].Name = m_aPropNames[ INDEX_AUTOSIZE  ];
+    aStatusbarItem[ OFFSET_STATUSBARITEM_OWNERDRAW ].Name = m_aPropNames[ INDEX_OWNERDRAW ];
+    aStatusbarItem[ OFFSET_STATUSBARITEM_WIDTH     ].Name = m_aPropNames[ INDEX_WIDTH     ];
+
+    sal_uInt32 nCount = aAddonStatusbarItemSetNodeSeq.getLength();
+    for ( sal_uInt32 n = 0; n < nCount; n++ )
+    {
+        ::rtl::OUString aStatusbarItemNode( aAddonStatusbarItemSetNode + aAddonStatusbarItemSetNodeSeq[n] );
+
+        if ( ReadStatusBarItem( aStatusbarItemNode, aStatusbarItem ) )
+        {
+            sal_uInt32 nAddonCount = rMergeStatusbarItems.getLength();
+            rMergeStatusbarItems.realloc( nAddonCount+1 );
+            rMergeStatusbarItems[nAddonCount] = aStatusbarItem;
+        }
+    }
+
+    return ( (sal_uInt32)rMergeStatusbarItems.getLength() > nStatusbarItemCount );
+}
+
+sal_Bool AddonsOptions_Impl::ReadStatusBarItem(
+    const ::rtl::OUString& aStatusarItemNodeName,
+    Sequence< PropertyValue >& aStatusbarItem )
+{
+    sal_Bool bResult( sal_False );
+    ::rtl::OUString aURL;
+    ::rtl::OUString aAddonStatusbarItemTreeNode( aStatusarItemNodeName + m_aPathDelimiter );
+    Sequence< Any > aStatusbarItemNodePropValues;
+
+    aStatusbarItemNodePropValues = GetProperties( GetPropertyNamesStatusbarItem( aAddonStatusbarItemTreeNode ) );
+
+    // Command URL is required
+    if (( aStatusbarItemNodePropValues[ OFFSET_STATUSBARITEM_URL ] >>= aURL ) && aURL.getLength() > 0 )
+    {
+        aStatusbarItem[ OFFSET_STATUSBARITEM_URL        ].Value <<= aURL;
+        aStatusbarItem[ OFFSET_STATUSBARITEM_TITLE      ].Value <<= aStatusbarItemNodePropValues[ OFFSET_STATUSBARITEM_TITLE     ];
+        aStatusbarItem[ OFFSET_STATUSBARITEM_CONTEXT    ].Value <<= aStatusbarItemNodePropValues[ OFFSET_STATUSBARITEM_CONTEXT   ];
+        aStatusbarItem[ OFFSET_STATUSBARITEM_ALIGN      ].Value <<= aStatusbarItemNodePropValues[ OFFSET_STATUSBARITEM_ALIGN     ];
+        aStatusbarItem[ OFFSET_STATUSBARITEM_AUTOSIZE   ].Value <<= aStatusbarItemNodePropValues[ OFFSET_STATUSBARITEM_AUTOSIZE  ];;
+        aStatusbarItem[ OFFSET_STATUSBARITEM_OWNERDRAW  ].Value <<= aStatusbarItemNodePropValues[ OFFSET_STATUSBARITEM_OWNERDRAW ];
+
+        // Configuration uses hyper for long. Therefore transform into sal_Int32
+        sal_Int64 nValue( 0 );
+        aStatusbarItemNodePropValues[ OFFSET_STATUSBARITEM_WIDTH ] >>= nValue;
+        aStatusbarItem[ OFFSET_STATUSBARITEM_WIDTH ].Value <<= sal_Int32( nValue );
+
+        bResult = sal_True;
+    }
+
+    return bResult;
+}
+
 //*****************************************************************************************************************
 //	private method
 //*****************************************************************************************************************
@@ -1634,6 +1828,22 @@ Sequence< ::rtl::OUString > AddonsOption
 	return lResult;
 }
 
+Sequence< ::rtl::OUString > AddonsOptions_Impl::GetPropertyNamesStatusbarItem(
+    const ::rtl::OUString& aPropertyRootNode ) const
+{
+    Sequence< ::rtl::OUString > lResult( PROPERTYCOUNT_STATUSBARITEM );
+
+    lResult[0] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_URL       ] );
+    lResult[1] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_TITLE     ] );
+    lResult[2] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_CONTEXT   ] );
+    lResult[3] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_ALIGN     ] );
+    lResult[4] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_AUTOSIZE  ] );
+    lResult[5] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_OWNERDRAW ] );
+    lResult[6] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_WIDTH     ] );
+
+    return lResult;
+}
+
 //*****************************************************************************************************************
 //	private method
 //*****************************************************************************************************************
@@ -1791,6 +2001,12 @@ bool AddonsOptions::GetMergeToolbarInstr
         rToolbarName, rToolbarInstructions );
 }
 
+const MergeStatusbarInstructionContainer& AddonsOptions::GetMergeStatusbarInstructions() const
+{
+    MutexGuard aGuard( GetOwnStaticMutex() );
+    return m_pDataContainer->GetMergeStatusbarInstructions();
+}
+
 //*****************************************************************************************************************
 //	public method
 //*****************************************************************************************************************

Modified: openoffice/branches/ia2/main/framework/source/register/registerservices.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/framework/source/register/registerservices.cxx?rev=1418198&r1=1418197&r2=1418198&view=diff
==============================================================================
--- openoffice/branches/ia2/main/framework/source/register/registerservices.cxx (original)
+++ openoffice/branches/ia2/main/framework/source/register/registerservices.cxx Fri Dec  7 06:37:02 2012
@@ -93,11 +93,8 @@
 #include <uifactory/statusbarfactory.hxx>
 #include <uiconfiguration/uicategorydescription.hxx>
 #include <services/sessionlistener.hxx>
-//#include <uielement/logoimagestatusbarcontroller.hxx>
-//#include <uielement/logotextstatusbarcontroller.hxx>
 //#include <uielement/newmenucontroller.hxx>
 #include <services/taskcreatorsrv.hxx>
-//#include <uielement/simpletextstatusbarcontroller.hxx>
 //#include <services/uriabbreviation.hxx>
 
 #include <uielement/langselectionstatusbarcontroller.hxx>
@@ -154,11 +151,8 @@ COMPONENTGETFACTORY	(	IFFACTORY( ::frame
                         IFFACTORY( ::framework::SessionListener                         )	else
 						IFFACTORY( ::framework::StatusbarControllerFactory              )   else
                         IFFACTORY( ::framework::SessionListener                         )   else
-                        //IFFACTORY( ::framework::LogoImageStatusbarController            )   else
-                        //IFFACTORY( ::framework::LogoTextStatusbarController             )	else
                         IFFACTORY( ::framework::TaskCreatorService	                    )   else
 						//IFFACTORY( ::framework::NewMenuController                       )   else
-                        //IFFACTORY( ::framework::SimpleTextStatusbarController           )   else
                         //IFFACTORY( ::framework::UriAbbreviation                         )   else
                         //IFFACTORY( ::framework::PopupMenuDispatcher                     )   else
                         IFFACTORY( ::framework::ImageManager                            )   else

Modified: openoffice/branches/ia2/main/framework/source/register/registertemp.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/framework/source/register/registertemp.cxx?rev=1418198&r1=1418197&r2=1418198&view=diff
==============================================================================
--- openoffice/branches/ia2/main/framework/source/register/registertemp.cxx (original)
+++ openoffice/branches/ia2/main/framework/source/register/registertemp.cxx Fri Dec  7 06:37:02 2012
@@ -58,9 +58,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>
@@ -76,14 +73,11 @@ COMPONENTGETIMPLEMENTATIONENVIRONMENT
 COMPONENTGETFACTORY	(	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

Modified: openoffice/branches/ia2/main/framework/source/uielement/langselectionstatusbarcontroller.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/framework/source/uielement/langselectionstatusbarcontroller.cxx?rev=1418198&r1=1418197&r2=1418198&view=diff
==============================================================================
--- openoffice/branches/ia2/main/framework/source/uielement/langselectionstatusbarcontroller.cxx (original)
+++ openoffice/branches/ia2/main/framework/source/uielement/langselectionstatusbarcontroller.cxx Fri Dec  7 06:37:02 2012
@@ -32,9 +32,6 @@
 #include <vcl/svapp.hxx>
 #include <vcl/window.hxx>
 #include <vcl/status.hxx>
-#ifndef _TOOLKIT_HELPER_VCLUNOHELPER_HXX_
-#include <toolkit/unohlp.hxx>
-#endif
 #include <toolkit/helper/convert.hxx>
 
 #include <com/sun/star/frame/XPopupMenuController.hpp>
@@ -60,7 +57,7 @@
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <comphelper/processfactory.hxx>
 
-#include <toolkit/unohlp.hxx>
+#include <toolkit/helper/vclunohelper.hxx>
 #include <tools/gen.hxx>
 #include <com/sun/star/awt/Command.hpp>
 #include <svl/languageoptions.hxx>
@@ -69,6 +66,8 @@
 
 #include "helper/mischelper.hxx"
 
+#include <rtl/ustrbuf.hxx>
+
 #include <map>
 #include <set>
 
@@ -81,13 +80,12 @@ using namespace ::com::sun::star::i18n;
 using namespace ::com::sun::star::document;
 
 using ::rtl::OUString;
+using ::rtl::OUStringBuffer;
 
 
 namespace framework
 {
 
-////////////////////////////////////////////////////////////
-
 DEFINE_XSERVICEINFO_MULTISERVICE        (   LangSelectionStatusbarController     	    ,
                                             OWeakObject                             ,
                                             SERVICENAME_STATUSBARCONTROLLER		    ,
@@ -104,23 +102,6 @@ LangSelectionStatusbarController::LangSe
 {
 }
 
-// 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)
 {
@@ -129,59 +110,14 @@ throw (::com::sun::star::uno::Exception,
 
     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@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@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@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@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@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@sun.com", "LangSelectionStatusbarController::LangMenu" );
@@ -195,7 +131,7 @@ throw (::com::sun::star::uno::RuntimeExc
 	Reference< awt::XPopupMenu > subPopupMenu(m_xServiceManager->createInstance( s_sPopupMenu ), UNO_QUERY );
 
     SvtLanguageTable    aLanguageTable;
-    
+
     // get languages to be displayed in the menu
     std::set< OUString > aLangItems;
     FillLangItems( aLangItems, aLanguageTable, m_xFrame, m_aLangGuessHelper, 
@@ -218,7 +154,7 @@ throw (::com::sun::star::uno::RuntimeExc
 		{
             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
@@ -228,9 +164,9 @@ throw (::com::sun::star::uno::RuntimeExc
 			++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_RESET, String( FwkResId( STR_RESET_TO_DEFAULT_LANGUAGE )), css::awt::MenuItemStyle::RADIOCHECK, MID_LANG_SEL_RESET );
-    xPopupMenu->insertItem( MID_LANG_SEL_MORE,  String( FwkResId( STR_LANGSTATUS_MORE )), css::awt::MenuItemStyle::RADIOCHECK, MID_LANG_SEL_MORE );
+    xPopupMenu->insertItem( MID_LANG_SEL_NONE,  String( FwkResId( STR_LANGSTATUS_NONE )), 0, MID_LANG_SEL_NONE );
+    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 );
 
     //
     // add entries to submenu ('set language for paragraph')
@@ -245,20 +181,20 @@ throw (::com::sun::star::uno::RuntimeExc
 		{
             DBG_ASSERT( MID_LANG_PARA_1 <= nItemId && nItemId <= MID_LANG_PARA_9,
                     "nItemId outside of expected range!" );
-            subPopupMenu->insertItem( nItemId, rStr, css::awt::MenuItemStyle::RADIOCHECK, nItemId );
+            subPopupMenu->insertItem( nItemId, rStr, 0, nItemId );
 			aLangMap[nItemId] = rStr;
             ++nItemId;
 		}
     }
-    subPopupMenu->insertItem( MID_LANG_PARA_NONE,  String( FwkResId( STR_LANGSTATUS_NONE )), css::awt::MenuItemStyle::RADIOCHECK, MID_LANG_PARA_NONE );
-    subPopupMenu->insertItem( MID_LANG_PARA_RESET, String( FwkResId( STR_RESET_TO_DEFAULT_LANGUAGE )), css::awt::MenuItemStyle::RADIOCHECK, MID_LANG_PARA_RESET );
-    subPopupMenu->insertItem( MID_LANG_PARA_MORE,  String( FwkResId( STR_LANGSTATUS_MORE )), css::awt::MenuItemStyle::RADIOCHECK, MID_LANG_PARA_MORE );
+    subPopupMenu->insertItem( MID_LANG_PARA_NONE,  String( FwkResId( STR_LANGSTATUS_NONE )), 0, MID_LANG_PARA_NONE );
+    subPopupMenu->insertItem( MID_LANG_PARA_RESET, String( FwkResId( STR_RESET_TO_DEFAULT_LANGUAGE )), 0, MID_LANG_PARA_RESET );
+    subPopupMenu->insertItem( MID_LANG_PARA_MORE,  String( FwkResId( STR_LANGSTATUS_MORE )), 0, MID_LANG_PARA_MORE );
 
     //
     // add last two entries to main menu
     //
 	xPopupMenu->insertSeparator( MID_LANG_PARA_SEPERATOR );
-    xPopupMenu->insertItem( MID_LANG_PARA_STRING, String( FwkResId( STR_SET_LANGUAGE_FOR_PARAGRAPH )), css::awt::MenuItemStyle::RADIOCHECK, MID_LANG_PARA_STRING );
+    xPopupMenu->insertItem( MID_LANG_PARA_STRING, String( FwkResId( STR_SET_LANGUAGE_FOR_PARAGRAPH )), 0, MID_LANG_PARA_STRING );
 	xPopupMenu->setPopupMenu( MID_LANG_PARA_STRING, subPopupMenu );
 
 
@@ -267,79 +203,65 @@ throw (::com::sun::star::uno::RuntimeExc
     //
 
 	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 += OUString::createFromAscii(".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 += OUString::createFromAscii(".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 += OUString::createFromAscii(".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 += OUString::createFromAscii(".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 += OUString::createFromAscii(".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 += OUString::createFromAscii(".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 += OUString::createFromAscii(".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 += OUString::createFromAscii(".uno:FontDialogForParagraph");
+            aBuff.appendAscii( RTL_CONSTASCII_STRINGPARAM( (".uno:FontDialogForParagraph") ));
 		}
 
-		uno::Reference< util::XURLTransformer > xURLTransformer( m_xServiceManager->createInstance( OUString::createFromAscii("com.sun.star.util.URLTransformer" )), uno::UNO_QUERY );
-        xURLTransformer->parseStrict( aURL );
-        uno::Reference< XDispatch > xDispatch = xDispatchProvider->queryDispatch(aURL, OUString(), 0);
-        if( xDispatch.is() )
-        {
-		    uno::Sequence< beans::PropertyValue > aPV;
-            if(::comphelper::UiEventsLogger::isEnabled()) //#i88653#
-                UiEventLogHelper( OUString::createFromAscii("ButtonToolbarController")).log(m_xServiceManager, m_xFrame, aURL, 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*/ )
@@ -348,33 +270,16 @@ throw (::com::sun::star::uno::RuntimeExc
     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen@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@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@sun.com", "LangSelectionStatusbarController::click" );
-    LangMenu();
-}
-
-void SAL_CALL LangSelectionStatusbarController::doubleClick()
-throw (::com::sun::star::uno::RuntimeException)
-{
-    RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen@sun.com", "LangSelectionStatusbarController::doubleClick" );
-    svt::StatusbarController::doubleClick();
+    LangMenu( aPos );
 }
 
 // XStatusListener
@@ -395,26 +300,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 ( 0 == aStatusText.compareToAscii( RTL_CONSTASCII_STRINGPARAM("*") ))
+                {
+                    aStatusText = String( FwkResId( STR_LANGSTATUS_MULTIPLE_LANGUAGES ) );
+                }
+                m_xStatusbarItem->setText( aStatusText );
 
                 // Retrieve all other values from the sequence and
                 // store it members!
@@ -426,7 +330,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
 		}
     }



Mime
View raw message