You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by st...@apache.org on 2013/04/23 11:51:53 UTC

svn commit: r1470868 [14/40] - in /openoffice/branches/ia2: ./ ext_libraries/coinmp/ ext_libraries/serf/ ext_libraries/serf/win/ extras/l10n/source/fi/ main/ main/animations/source/animcore/ main/automation/source/communi/ main/basctl/source/basicide/ ...

Modified: openoffice/branches/ia2/main/sd/source/ui/framework/configuration/ResourceFactoryManager.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/framework/configuration/ResourceFactoryManager.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/framework/configuration/ResourceFactoryManager.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/framework/configuration/ResourceFactoryManager.cxx Tue Apr 23 09:51:15 2013
@@ -37,6 +37,9 @@ using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::drawing::framework;
 using ::rtl::OUString;
 
+#undef VERBOSE
+//#define VERBOSE 1
+
 namespace sd { namespace framework {
 
 ResourceFactoryManager::ResourceFactoryManager (const Reference<XControllerManager>& rxManager)
@@ -84,10 +87,22 @@ void ResourceFactoryManager::AddFactory 
     {
         // The URL is a URL pattern not an single URL.
         maFactoryPatternList.push_back(FactoryPatternList::value_type(rsURL, rxFactory));
+
+#if defined VERBOSE && VERBOSE>=1
+        OSL_TRACE("ResourceFactoryManager::AddFactory pattern %s %x\n",
+            OUStringToOString(rsURL, RTL_TEXTENCODING_UTF8).getStr(),
+            rxFactory.get());
+#endif
     }
     else
     {
         maFactoryMap[rsURL] = rxFactory;
+
+#if defined VERBOSE && VERBOSE>=1
+        OSL_TRACE("ResourceFactoryManager::AddFactory fixed %s %x\n",
+            OUStringToOString(rsURL, RTL_TEXTENCODING_UTF8).getStr(),
+            rxFactory.get());
+#endif
     }
 }
 

Modified: openoffice/branches/ia2/main/sd/source/ui/framework/factories/BasicPaneFactory.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/framework/factories/BasicPaneFactory.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/framework/factories/BasicPaneFactory.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/framework/factories/BasicPaneFactory.cxx Tue Apr 23 09:51:15 2013
@@ -51,8 +51,7 @@ namespace {
         CenterPaneId,
         FullScreenPaneId,
         LeftImpressPaneId,
-        LeftDrawPaneId,
-        RightPaneId
+        LeftDrawPaneId
     };
 
     static const sal_Int32 gnConfigurationUpdateStartEvent(0);
@@ -205,7 +204,7 @@ void SAL_CALL BasicPaneFactory::initiali
             mxConfigurationControllerWeak = xCC;
 
             // Add pane factories for the two left panes (one for Impress and one for
-            // Draw), the center pane, and the right pane.
+            // Draw) and the center pane.
             if (xController.is() && xCC.is())
             {
                 PaneDescriptor aDescriptor;
@@ -231,11 +230,6 @@ void SAL_CALL BasicPaneFactory::initiali
                 aDescriptor.mePaneId = LeftDrawPaneId;
                 mpPaneContainer->push_back(aDescriptor);
                 xCC->addResourceFactory(aDescriptor.msPaneURL, this);
-
-                aDescriptor.msPaneURL = FrameworkHelper::msRightPaneURL;
-                aDescriptor.mePaneId = RightPaneId;
-                mpPaneContainer->push_back(aDescriptor);
-                xCC->addResourceFactory(aDescriptor.msPaneURL, this);
             }
 
             // Register as configuration change listener.
@@ -304,7 +298,6 @@ Reference<XResource> SAL_CALL BasicPaneF
 
                 case LeftImpressPaneId:
                 case LeftDrawPaneId:
-                case RightPaneId:
                     xPane = CreateChildWindowPane(
                         rxPaneId,
                         *iDescriptor);
@@ -523,11 +516,6 @@ Reference<XResource> BasicPaneFactory::C
                 pShell.reset(new LeftDrawPaneShell());
                 nChildWindowId = ::sd::LeftPaneDrawChildWindow::GetChildWindowId();
                 break;
-            
-            case RightPaneId:
-                pShell.reset(new ToolPanelPaneShell());
-                nChildWindowId = ::sd::ToolPanelChildWindow::GetChildWindowId();
-                break;
 
             default:
                 break;

Modified: openoffice/branches/ia2/main/sd/source/ui/framework/factories/BasicPaneFactory.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/framework/factories/BasicPaneFactory.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/framework/factories/BasicPaneFactory.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/framework/factories/BasicPaneFactory.hxx Tue Apr 23 09:51:15 2013
@@ -67,7 +67,6 @@ namespace sd { namespace framework {
         private:resource/pane/FullScreenPane
         private:resource/pane/LeftImpressPane
         private:resource/pane/LeftDrawPane
-        private:resource/pane/RightPane
     There are two left panes because this is (seems to be) the only way to
     show different titles for the left pane in Draw and Impress.
 */
@@ -127,7 +126,7 @@ private:
     ::boost::scoped_ptr<PaneContainer> mpPaneContainer;
     bool mbFirstUpdateSeen;
     ::boost::shared_ptr<UpdateLockManager> mpUpdateLockManager;
-
+    
     /** Create a new instance of FrameWindowPane.
         @param rPaneId
             There is only one frame window so this id is just checked to

Modified: openoffice/branches/ia2/main/sd/source/ui/framework/factories/BasicViewFactory.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/framework/factories/BasicViewFactory.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/framework/factories/BasicViewFactory.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/framework/factories/BasicViewFactory.cxx Tue Apr 23 09:51:15 2013
@@ -38,7 +38,6 @@
 #include "DrawViewShell.hxx"
 #include "GraphicViewShell.hxx"
 #include "OutlineViewShell.hxx"
-#include "taskpane/ToolPanelViewShell.hxx"
 #include "PresentationViewShell.hxx"
 #include "SlideSorterViewShell.hxx"
 #include "FrameView.hxx"
@@ -327,7 +326,6 @@ void SAL_CALL BasicViewFactory::initiali
             mxConfigurationController->addResourceFactory(FrameworkHelper::msNotesViewURL, this);
             mxConfigurationController->addResourceFactory(FrameworkHelper::msHandoutViewURL, this);
             mxConfigurationController->addResourceFactory(FrameworkHelper::msPresentationViewURL, this);
-            mxConfigurationController->addResourceFactory(FrameworkHelper::msTaskPaneURL, this);
             mxConfigurationController->addResourceFactory(FrameworkHelper::msSlideSorterURL, this);
         }
         catch (RuntimeException&)
@@ -445,15 +443,6 @@ void SAL_CALL BasicViewFactory::initiali
                 &rWindow,
                 pFrameView));
     }
-    else if (rsViewURL.equals(FrameworkHelper::msTaskPaneURL))
-    {
-        pViewShell.reset(
-            new ::sd::toolpanel::ToolPanelViewShell(
-                &rFrame,
-                *mpBase,
-                &rWindow,
-                pFrameView));
-    }
     else if (rsViewURL.equals(FrameworkHelper::msSlideSorterURL))
     {
         pViewShell = ::sd::slidesorter::SlideSorterViewShell::Create (
@@ -529,8 +518,6 @@ bool BasicViewFactory::IsCacheable (cons
                 FrameworkHelper::msSlideSorterURL, FrameworkHelper::msLeftDrawPaneURL));
             maCacheableResources.push_back(pHelper->CreateResourceId(
                 FrameworkHelper::msSlideSorterURL, FrameworkHelper::msLeftImpressPaneURL));
-            maCacheableResources.push_back(pHelper->CreateResourceId(
-                FrameworkHelper::msTaskPaneURL, FrameworkHelper::msRightPaneURL));
         }
 
         ::std::vector<Reference<XResourceId> >::const_iterator iId;

Modified: openoffice/branches/ia2/main/sd/source/ui/framework/factories/Pane.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/framework/factories/Pane.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/framework/factories/Pane.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/framework/factories/Pane.cxx Tue Apr 23 09:51:15 2013
@@ -81,6 +81,16 @@ void Pane::disposing (void)
 
 
 
+void Pane::SetWindow (::Window* pWindow)
+{
+    OSL_TRACE("setting Pane::mpWindow to %x", pWindow);
+    mpWindow = pWindow;
+    mxWindow = VCLUnoHelper::GetInterface(mpWindow);
+}
+
+
+
+
 //----- XPane -----------------------------------------------------------------
     
 Reference<awt::XWindow> SAL_CALL Pane::getWindow (void)

Modified: openoffice/branches/ia2/main/sd/source/ui/framework/factories/ViewShellWrapper.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/framework/factories/ViewShellWrapper.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/framework/factories/ViewShellWrapper.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/framework/factories/ViewShellWrapper.cxx Tue Apr 23 09:51:15 2013
@@ -25,7 +25,6 @@
 
 #include "framework/ViewShellWrapper.hxx"
 #include "framework/Pane.hxx"
-#include "taskpane/ToolPanelViewShell.hxx"
 #include "ViewShell.hxx"
 #include "Window.hxx"
 
@@ -50,7 +49,6 @@ using ::com::sun::star::rendering::XCanv
 using ::com::sun::star::lang::DisposedException;
 
 using ::rtl::OUString;
-using ::sd::toolpanel::ToolPanelViewShell;
 
 namespace sd { namespace framework {
 

Modified: openoffice/branches/ia2/main/sd/source/ui/framework/factories/makefile.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/framework/factories/makefile.mk?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/framework/factories/makefile.mk (original)
+++ openoffice/branches/ia2/main/sd/source/ui/framework/factories/makefile.mk Tue Apr 23 09:51:15 2013
@@ -47,7 +47,6 @@ SLOFILES =      							\
 	$(SLO)$/FullScreenPane.obj				\
 	$(SLO)$/Pane.obj						\
 	$(SLO)$/PresentationFactory.obj			\
-	$(SLO)$/TaskPanelFactory.obj			\
 	$(SLO)$/ViewShellWrapper.obj
 
 # --- Tagets -------------------------------------------------------

Modified: openoffice/branches/ia2/main/sd/source/ui/framework/module/ImpressModule.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/framework/module/ImpressModule.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/framework/module/ImpressModule.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/framework/module/ImpressModule.cxx Tue Apr 23 09:51:15 2013
@@ -29,7 +29,6 @@
 #include "ViewTabBarModule.hxx"
 #include "CenterViewFocusModule.hxx"
 #include "SlideSorterModule.hxx"
-#include "ToolPanelModule.hxx"
 #include "ToolBarModule.hxx"
 #include "ShellStackGuard.hxx"
 
@@ -50,7 +49,6 @@ void ImpressModule::Initialize (Referenc
     new SlideSorterModule(
         rxController,
         FrameworkHelper::msLeftImpressPaneURL);
-    ToolPanelModule::Initialize(rxController);
     new ToolBarModule(rxController);
     new ShellStackGuard(rxController);
 }

Modified: openoffice/branches/ia2/main/sd/source/ui/framework/module/ModuleController.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/framework/module/ModuleController.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/framework/module/ModuleController.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/framework/module/ModuleController.cxx Tue Apr 23 09:51:15 2013
@@ -304,9 +304,18 @@ void SAL_CALL ModuleController::requestR
                 // Create the factory service.
                 Sequence<Any> aArguments(1);
                 aArguments[0] <<= mxController;
-                xFactory = xGlobalFactory->createInstanceWithArguments(
-                    iFactory->second,
-                    aArguments);
+                OSL_TRACE("creating resource %s",
+                    OUStringToOString(iFactory->second, RTL_TEXTENCODING_ASCII_US).getStr());
+                try
+                {
+                    xFactory = xGlobalFactory->createInstanceWithArguments(
+                        iFactory->second,
+                        aArguments);
+                }
+                catch(Exception&e)
+                {
+                    OSL_TRACE("caught exception while creating factory.");
+                }
 
                 // Remember that this factory has been instanced.
                 (*mpLoadedFactories)[iFactory->second] = xFactory;

Modified: openoffice/branches/ia2/main/sd/source/ui/framework/module/ToolPanelModule.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/framework/module/ToolPanelModule.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/framework/module/ToolPanelModule.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/framework/module/ToolPanelModule.cxx Tue Apr 23 09:51:15 2013
@@ -142,8 +142,8 @@ void ToolPanelModule::Initialize (const 
         new ResourceManager(
             rxController,
             FrameworkHelper::CreateResourceId(
-                FrameworkHelper::msTaskPaneURL,
-                FrameworkHelper::msRightPaneURL)));
+                FrameworkHelper::msSidebarViewURL,
+                FrameworkHelper::msSidebarPaneURL)));
     pResourceManager->AddActiveMainView(FrameworkHelper::msImpressViewURL);
     pResourceManager->AddActiveMainView(FrameworkHelper::msNotesViewURL);
     pResourceManager->AddActiveMainView(FrameworkHelper::msHandoutViewURL);

Modified: openoffice/branches/ia2/main/sd/source/ui/framework/tools/FrameworkHelper.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/framework/tools/FrameworkHelper.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/framework/tools/FrameworkHelper.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/framework/tools/FrameworkHelper.cxx Tue Apr 23 09:51:15 2013
@@ -19,8 +19,6 @@
  * 
  *************************************************************/
 
-
-
 #include "precompiled_sd.hxx"
 
 #include <osl/time.h>
@@ -37,6 +35,7 @@
 #include "DrawController.hxx"
 #include "app.hrc"
 #include <com/sun/star/drawing/framework/XControllerManager.hpp>
+#include <com/sun/star/drawing/framework/XPane.hpp>
 #include <cppuhelper/compbase1.hxx>
 #include <svl/lstner.hxx>
 
@@ -102,8 +101,10 @@ public:
     virtual ~CallbackCaller (void);
 
     virtual void SAL_CALL disposing (void);
+    // XEventListener
     virtual void SAL_CALL disposing (const lang::EventObject& rEvent)
         throw (RuntimeException);
+    // XConfigurationChangeListener
     virtual void SAL_CALL notifyConfigurationChange (const ConfigurationChangeEvent& rEvent)
         throw (RuntimeException);
 
@@ -179,8 +180,8 @@ const OUString FrameworkHelper::msLeftIm
     msPaneURLPrefix + OUString::createFromAscii("LeftImpressPane"));
 const OUString FrameworkHelper::msLeftDrawPaneURL(
     msPaneURLPrefix + OUString::createFromAscii("LeftDrawPane"));
-const OUString FrameworkHelper::msRightPaneURL(
-    msPaneURLPrefix + OUString::createFromAscii("RightPane"));
+const OUString FrameworkHelper::msSidebarPaneURL(
+    msPaneURLPrefix + OUString::createFromAscii("SidebarPane"));
 
 
 // View URLs.
@@ -201,8 +202,8 @@ const OUString FrameworkHelper::msSlideS
     msViewURLPrefix + OUString::createFromAscii("SlideSorter"));
 const OUString FrameworkHelper::msPresentationViewURL(
     msViewURLPrefix + OUString::createFromAscii("PresentationView"));
-const OUString FrameworkHelper::msTaskPaneURL(
-    msViewURLPrefix + OUString::createFromAscii("TaskPane"));
+const OUString FrameworkHelper::msSidebarViewURL(
+    msViewURLPrefix + OUString::createFromAscii("SidebarView"));
 
 
 // Tool bar URLs.
@@ -215,9 +216,13 @@ const OUString FrameworkHelper::msViewTa
 
 // Task panel URLs.
 const ::rtl::OUString FrameworkHelper::msTaskPanelURLPrefix(
-    OUString::createFromAscii("private:resource/toolpanel/DrawingFramework/"));
-const ::rtl::OUString FrameworkHelper::msMasterPagesTaskPanelURL(
-    msTaskPanelURLPrefix + OUString::createFromAscii("MasterPages"));
+    OUString::createFromAscii("private:resource/toolpanel/"));
+const ::rtl::OUString FrameworkHelper::msAllMasterPagesTaskPanelURL(
+    msTaskPanelURLPrefix + OUString::createFromAscii("AllMasterPages"));
+const ::rtl::OUString FrameworkHelper::msRecentMasterPagesTaskPanelURL(
+    msTaskPanelURLPrefix + OUString::createFromAscii("RecentMasterPages"));
+const ::rtl::OUString FrameworkHelper::msUsedMasterPagesTaskPanelURL(
+    msTaskPanelURLPrefix + OUString::createFromAscii("UsedMasterPages"));
 const ::rtl::OUString FrameworkHelper::msLayoutTaskPanelURL(
     msTaskPanelURLPrefix + OUString::createFromAscii("Layouts"));
 const ::rtl::OUString FrameworkHelper::msTableDesignPanelURL(
@@ -237,6 +242,8 @@ const OUString FrameworkHelper::msResour
     OUString::createFromAscii("ResourceActivation"));
 const OUString FrameworkHelper::msResourceDeactivationEvent(
     OUString::createFromAscii("ResourceDeactivation"));
+const OUString FrameworkHelper::msResourceDeactivationEndEvent(
+    OUString::createFromAscii("ResourceDeactivationEnd"));
 const OUString FrameworkHelper::msConfigurationUpdateStartEvent(
     OUString::createFromAscii("ConfigurationUpdateStart"));
 const OUString FrameworkHelper::msConfigurationUpdateEndEvent(
@@ -337,6 +344,20 @@ private:
 
 
 
+//----- FrameworkHelper::Deleter ----------------------------------------------
+
+class FrameworkHelper::Deleter
+{
+public:
+    void operator()(FrameworkHelper* pObject)
+    {
+        delete pObject;
+    }
+};
+
+
+
+
 //----- FrameworkHelper -------------------------------------------------------
 
 ::boost::scoped_ptr<FrameworkHelper::ViewURLMap> FrameworkHelper::mpViewURLMap(new ViewURLMap());
@@ -381,7 +402,9 @@ FrameworkHelper::InstanceMap FrameworkHe
         ::osl::MutexGuard aGuard (aMutexFunctor());
         if (iHelper == maInstanceMap.end())
         {
-            pHelper = ::boost::shared_ptr<FrameworkHelper>(new FrameworkHelper(rBase));
+            pHelper = ::boost::shared_ptr<FrameworkHelper>(
+                new FrameworkHelper(rBase),
+                FrameworkHelper::Deleter());
             pHelper->Initialize();
             OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER();
             maInstanceMap[&rBase] = pHelper;
@@ -524,6 +547,61 @@ Reference<XView> FrameworkHelper::GetVie
 
 
 
+Reference<awt::XWindow> FrameworkHelper::GetPaneWindow (const Reference<XResourceId>& rxPaneId)
+{
+    Reference<awt::XWindow> xWindow;
+    
+    if (rxPaneId.is() && mxConfigurationController.is())
+    {
+        try
+        {
+            if (rxPaneId->getResourceURL().match(msPaneURLPrefix))
+            {
+                Reference<XPane> xPane (mxConfigurationController->getResource(rxPaneId), UNO_QUERY);
+                if (xPane.is())
+                    xWindow = xPane->getWindow();
+            }
+        }
+        catch (lang::DisposedException&)
+        {
+            Dispose();
+        }
+        catch (RuntimeException&)
+        {
+        }
+    }
+    
+    return xWindow;
+}
+
+
+
+
+Reference<XResource> FrameworkHelper::GetResource (const Reference<XResourceId>& rxResourceId)
+{
+    Reference<XResource> xResource;
+    
+    if (rxResourceId.is() && mxConfigurationController.is())
+    {
+        try
+        {
+            return mxConfigurationController->getResource(rxResourceId);
+        }
+        catch (lang::DisposedException&)
+        {
+            Dispose();
+        }
+        catch (RuntimeException&)
+        {
+        }
+    }
+    
+    return NULL;
+}
+
+
+
+
 Reference<XResourceId> FrameworkHelper::RequestView (
     const OUString& rsResourceURL,
     const OUString& rsAnchorURL)
@@ -559,7 +637,7 @@ Reference<XResourceId> FrameworkHelper::
 
 
 
-void FrameworkHelper::RequestTaskPanel (
+Reference<XResourceId> FrameworkHelper::RequestSidebarPanel (
     const OUString& rsTaskPanelURL,
     const bool bEnsureTaskPaneIsVisible)
 {
@@ -572,26 +650,29 @@ void FrameworkHelper::RequestTaskPanel (
             {
                 Reference<XConfiguration> xConfiguration (
                     mxConfigurationController->getCurrentConfiguration());
-            if (xConfiguration.is())
-                if ( ! xConfiguration->hasResource(
-                    CreateResourceId(msTaskPaneURL, msRightPaneURL)))
-                {
-                    // Task pane does is not active.  Do not force it.
-                    return;
-                }
+                if (xConfiguration.is())
+                    if ( ! xConfiguration->hasResource(
+                            CreateResourceId(msSidebarViewURL, msSidebarPaneURL)))
+                    {
+                        // Task pane is not active.  Do not force it.
+                        return NULL;
+                    }
             }
 
-            // Create the resource id from URLs for the pane, the task pane
-            // view, and the task panel.
+            // Create the resource id from URLs for the sidebar pane
+            // and view and the requested panel.
             mxConfigurationController->requestResourceActivation(
-                CreateResourceId(msRightPaneURL),
+                CreateResourceId(msSidebarPaneURL),
                 ResourceActivationMode_ADD);
             mxConfigurationController->requestResourceActivation(
-                CreateResourceId(msTaskPaneURL, msRightPaneURL),
+                CreateResourceId(msSidebarViewURL, msSidebarPaneURL),
                 ResourceActivationMode_REPLACE);
+            Reference<XResourceId> xPanelId (CreateResourceId(rsTaskPanelURL, msSidebarViewURL, msSidebarPaneURL));
             mxConfigurationController->requestResourceActivation(
-                CreateResourceId(rsTaskPanelURL, msTaskPaneURL, msRightPaneURL),
+                xPanelId,
                 ResourceActivationMode_REPLACE);
+
+            return xPanelId;
         }
     }
     catch (lang::DisposedException&)
@@ -600,6 +681,26 @@ void FrameworkHelper::RequestTaskPanel (
     }
     catch (RuntimeException&)
     {}
+
+    return NULL;
+}
+
+
+
+
+void FrameworkHelper::RequestResourceDeactivation (const cssu::Reference<cssdf::XResourceId>& rxResourceId)
+{
+    try
+    {
+        if (mxConfigurationController.is() && rxResourceId.is())
+            mxConfigurationController->requestResourceDeactivation(rxResourceId);
+    }
+    catch (lang::DisposedException&)
+    {
+        Dispose();
+    }
+    catch (RuntimeException&)
+    {}
 }
 
 
@@ -616,7 +717,7 @@ ViewShell::ShellType FrameworkHelper::Ge
         (*mpViewURLMap)[msHandoutViewURL] = ViewShell::ST_HANDOUT;
         (*mpViewURLMap)[msSlideSorterURL] = ViewShell::ST_SLIDE_SORTER;
         (*mpViewURLMap)[msPresentationViewURL] = ViewShell::ST_PRESENTATION;
-        (*mpViewURLMap)[msTaskPaneURL] = ViewShell::ST_TASK_PANE;
+        (*mpViewURLMap)[msSidebarViewURL] = ViewShell::ST_SIDEBAR;
     }
     ViewURLMap::const_iterator iView (mpViewURLMap->find(rsViewURL));
     if (iView != mpViewURLMap->end())
@@ -639,7 +740,7 @@ ViewShell::ShellType FrameworkHelper::Ge
         case ViewShell::ST_HANDOUT : return msHandoutViewURL;
         case ViewShell::ST_SLIDE_SORTER : return msSlideSorterURL;
         case ViewShell::ST_PRESENTATION : return msPresentationViewURL;
-        case ViewShell::ST_TASK_PANE : return msTaskPaneURL;
+        case ViewShell::ST_SIDEBAR : return msSidebarViewURL;
         default:
             return OUString();
     }
@@ -788,6 +889,30 @@ void FrameworkHelper::RunOnResourceActiv
 
 
 
+void FrameworkHelper::RunOnResourceDeactivation(
+    const css::uno::Reference<css::drawing::framework::XResourceId>& rxResourceId,
+    const Callback& rCallback,
+    const bool bRunOnDeactivationEnd)
+{
+    if (mxConfigurationController.is()
+        && ! mxConfigurationController->getResource(rxResourceId).is())
+    {
+        rCallback(false);
+    }
+    else
+    {
+        RunOnEvent(
+            bRunOnDeactivationEnd
+                ? msResourceDeactivationEndEvent
+                : msResourceDeactivationEvent,
+            FrameworkHelperResourceIdFilter(rxResourceId),
+            rCallback);
+    }
+}
+
+
+
+
 /** A callback that sets a flag to a specified value when the callback is
     called.
 */

Modified: openoffice/branches/ia2/main/sd/source/ui/func/fuarea.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/func/fuarea.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/func/fuarea.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/func/fuarea.cxx Tue Apr 23 09:51:15 2013
@@ -91,6 +91,8 @@ void FuArea::DoExecute( SfxRequest& rReq
 						SID_ATTR_FILL_GRADIENT,
 						SID_ATTR_FILL_HATCH,
 						SID_ATTR_FILL_BITMAP,
+                        SID_ATTR_FILL_TRANSPARENCE,
+                        SID_ATTR_FILL_FLOATTRANSPARENCE,
 						0 };
 
 		mpViewShell->GetViewFrame()->GetBindings().Invalidate( SidArray );

Modified: openoffice/branches/ia2/main/sd/source/ui/func/fuchar.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/func/fuchar.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/func/fuchar.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/func/fuchar.cxx Tue Apr 23 09:51:15 2013
@@ -26,7 +26,7 @@
 
 
 #include "fuchar.hxx"
-
+#include <svx/dialogs.hrc>
 #include <sfx2/viewfrm.hxx>
 
 #include <editeng/editdata.hxx>
@@ -87,6 +87,10 @@ void FuChar::DoExecute( SfxRequest& rReq
 		SfxAbstractTabDialog* pDlg = pFact ? pFact->CreateSdTabCharDialog( NULL, &aNewAttr, mpDoc->GetDocSh() ) : 0;
 		if( pDlg )
 		{
+			if (rReq.GetSlot() == SID_CHAR_DLG_EFFECT)
+			{
+				pDlg->SetCurPageId(RID_SVXPAGE_CHAR_EFFECTS);
+			}
 			sal_uInt16 nResult = pDlg->Execute();
 
 			if( nResult == RET_OK )
@@ -110,9 +114,12 @@ void FuChar::DoExecute( SfxRequest& rReq
 					SID_ATTR_CHAR_FONT,
 					SID_ATTR_CHAR_POSTURE,
 					SID_ATTR_CHAR_WEIGHT,
+					SID_ATTR_CHAR_SHADOWED,
+					SID_ATTR_CHAR_STRIKEOUT,
 					SID_ATTR_CHAR_UNDERLINE,
 					SID_ATTR_CHAR_FONTHEIGHT,
 					SID_ATTR_CHAR_COLOR,
+					SID_ATTR_CHAR_KERNING,	
 					SID_SET_SUPER_SCRIPT,
 					SID_SET_SUB_SCRIPT,
 					0 };

Modified: openoffice/branches/ia2/main/sd/source/ui/func/fuline.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/func/fuline.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/func/fuline.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/func/fuline.cxx Tue Apr 23 09:51:15 2013
@@ -99,11 +99,16 @@ void FuLine::DoExecute( SfxRequest& rReq
 
 		// Attribute wurden geaendert, Listboxes in Objectbars muessen aktualisiert werden
 		static sal_uInt16 SidArray[] = {
-						SID_ATTR_LINE_STYLE,
-						SID_ATTR_LINE_DASH,
-						SID_ATTR_LINE_WIDTH,
-						SID_ATTR_LINE_COLOR,
-						0 };
+            SID_ATTR_LINE_STYLE,                // ( SID_SVX_START + 169 )
+            SID_ATTR_LINE_DASH,                 // ( SID_SVX_START + 170 )
+            SID_ATTR_LINE_WIDTH,                // ( SID_SVX_START + 171 )
+            SID_ATTR_LINE_COLOR,                // ( SID_SVX_START + 172 )
+            SID_ATTR_LINE_START,                // ( SID_SVX_START + 173 )
+            SID_ATTR_LINE_END,                  // ( SID_SVX_START + 174 )
+            SID_ATTR_LINE_TRANSPARENCE,         // (SID_SVX_START+1107)
+            SID_ATTR_LINE_JOINT,                // (SID_SVX_START+1110)
+            SID_ATTR_LINE_CAP,                  // (SID_SVX_START+1111)
+            0 };
 
 		mpViewShell->GetViewFrame()->GetBindings().Invalidate( SidArray );
 

Modified: openoffice/branches/ia2/main/sd/source/ui/func/fuolbull.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/func/fuolbull.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/func/fuolbull.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/func/fuolbull.cxx Tue Apr 23 09:51:15 2013
@@ -32,6 +32,9 @@
 #include <editeng/eeitem.hxx>
 #include <sfx2/request.hxx>
 #include <svl/intitem.hxx>
+#include <editeng/numitem.hxx>
+#include "sdresid.hxx"
+#include "glob.hrc"
 
 #include <editeng/editdata.hxx>
 #include <svx/svxids.hrc>
@@ -43,7 +46,10 @@
 #endif
 #include "drawdoc.hxx"
 #include "sdabstdlg.hxx"
-
+#include <svx/nbdtmg.hxx>
+#include <svx/nbdtmgfact.hxx>
+#include <svx/svdoutl.hxx>
+using namespace svx::sidebar;
 namespace sd {
 
 TYPEINIT1( FuOutlineBullet, FuPoor );
@@ -70,6 +76,16 @@ FunctionReference FuOutlineBullet::Creat
 
 void FuOutlineBullet::DoExecute( SfxRequest& rReq )
 {
+	sal_uInt16 nSId = rReq.GetSlot();
+	if (nSId == FN_SVX_SET_BULLET){
+		SetCurrentBullet(rReq);
+		return;
+	}
+	else if (nSId == FN_SVX_SET_NUMBER){
+		SetCurrentNumbering(rReq);
+		return;
+	}
+	
 	const SfxItemSet* pArgs = rReq.GetArgs();
 
 	if( !pArgs )
@@ -137,6 +153,390 @@ void FuOutlineBullet::DoExecute( SfxRequ
 */
 }
 
+void FuOutlineBullet::SetCurrentNumbering(SfxRequest& rReq)
+{
+	if (!mpDoc || !mpView)
+		return;	
+
+	SfxItemSet aEditAttr( mpDoc->GetPool() );
+	mpView->GetAttributes( aEditAttr );		
+
+	SfxItemSet aNewAttr( mpViewShell->GetPool(),
+							 EE_ITEMS_START, EE_ITEMS_END );
+	aNewAttr.Put( aEditAttr, sal_False );
+
+	SfxItemSet aSetAttr( mpViewShell->GetPool(),
+							 EE_ITEMS_START, EE_ITEMS_END );
+
+	//Init bullet level in "Customize" tab page in bullet dialog in master page view
+	if( mpView && mpViewShell && mpViewShell->ISA(DrawViewShell) 
+		&& ((DrawViewShell *)mpViewShell)->GetEditMode() == EM_MASTERPAGE )
+	{
+		SdrObject* pObj = mpView->GetTextEditObject();
+		if( pObj && pObj->GetObjIdentifier() == OBJ_OUTLINETEXT )
+		{
+			sal_uInt16 nLevel = mpView->GetSelectionLevel();
+			if( nLevel != 0xFFFF )
+			{
+
+				SfxItemSet aStoreSet( aNewAttr );
+				aNewAttr.ClearItem();
+				//extend range
+				aNewAttr.MergeRange( SID_PARAM_NUM_PRESET, SID_PARAM_CUR_NUM_LEVEL );
+				aNewAttr.Put( aStoreSet );
+				//put current level user selected
+				aNewAttr.Put( SfxUInt16Item( SID_PARAM_CUR_NUM_LEVEL, nLevel ) );
+			}
+		}
+	}
+	//End of add
+
+	sal_uInt16 nActNumLvl = (sal_uInt16)0xFFFF;	
+	SvxNumRule* pNumRule = NULL;
+	const SfxPoolItem* pTmpItem=NULL;
+	sal_uInt32 nNumItemId = SID_ATTR_NUMBERING_RULE;
+
+	if(SFX_ITEM_SET == aNewAttr.GetItemState(SID_PARAM_CUR_NUM_LEVEL, sal_False, &pTmpItem))
+		nActNumLvl = ((const SfxUInt16Item*)pTmpItem)->GetValue();
+	
+	pTmpItem=GetNumBulletItem(aNewAttr, nNumItemId);
+
+	if (pTmpItem)
+		pNumRule = new SvxNumRule(*((SvxNumBulletItem*)pTmpItem)->GetNumRule());		
+		
+	SFX_REQUEST_ARG( rReq, pItem, SfxUInt16Item, FN_SVX_SET_NUMBER , sal_False );
+	if (pItem && pNumRule)
+	{
+		sal_uInt16 nIdx = pItem->GetValue();
+		// If the nIdx is (sal_uInt16)0xFFFF, means set bullet status to on/off
+		// And the bullet default status is 1.
+		bool bBulletSwitch = false;
+        sal_Bool isRemoveNum =false;
+		if( nIdx == (sal_uInt16)0xFFFF )
+		{
+			nIdx = 1;
+			bBulletSwitch = true;
+		}
+		if (nIdx == DEFAULT_NONE) 
+		{
+			bBulletSwitch = false;
+			isRemoveNum = true;
+		}
+		nIdx--;
+		
+		NBOTypeMgrBase* pNumbering = NBOutlineTypeMgrFact::CreateInstance(eNBOType::NUMBERING);
+		if ( pNumbering )
+		{
+			//Sym3_2508, set unit attribute to NB Manager
+			pNumbering->SetItems(&aNewAttr);
+			SvxNumRule aTmpRule( *pNumRule );
+			pNumbering->ApplyNumRule(aTmpRule,nIdx,nActNumLvl);
+			sal_uInt16 nMask = 1;
+			for(sal_uInt16 i = 0; i < pNumRule->GetLevelCount(); i++)
+			{
+				if(nActNumLvl & nMask)
+				{
+					SvxNumberFormat aFmt(aTmpRule.GetLevel(i));
+					pNumRule->SetLevel(i, aFmt);
+				}
+				nMask <<= 1 ;
+			}
+			aSetAttr.Put(SvxNumBulletItem( *pNumRule ), nNumItemId); 
+			OutlinerView* pOLV = mpView->GetTextEditOutlinerView();
+
+	       	 std::auto_ptr< OutlineViewModelChangeGuard > aGuard;
+
+	        	if (mpView->ISA(OutlineView))
+	        	{
+			        pOLV = static_cast<OutlineView*>(mpView)
+	                    ->GetViewByWindow(mpViewShell->GetActiveWindow());
+
+			        aGuard.reset( new OutlineViewModelChangeGuard( static_cast<OutlineView&>(*mpView) ) );
+	        	}
+
+            		SdrOutliner* pOwner = mpView->GetTextEditOutliner();
+			bool bMasterView = false;
+
+			DrawViewShell* pDrawViewShell = static_cast< DrawViewShell* >(mpViewShell);
+			
+			if ( pOwner && pDrawViewShell && pDrawViewShell->GetEditMode() == EM_MASTERPAGE )					
+				bMasterView = !pOwner->IsInUndo() && pOwner->IsUndoEnabled();
+
+			if( bMasterView )
+			{
+				pOwner->UndoActionStart( OLUNDO_ATTR );
+				pOLV->ToggleBullets( bBulletSwitch, sal_False, bMasterView, pNumRule,isRemoveNum);
+				mpView->SetAttributes(aSetAttr); //Modify for Sym2_3151
+				pOwner->UndoActionEnd( OLUNDO_ATTR );
+			}
+			else if( pOLV )                
+				pOLV->ToggleBullets( bBulletSwitch, sal_False, bMasterView, pNumRule ,isRemoveNum);						
+			else
+			{
+				sal_Bool bInMasterView = pDrawViewShell && pDrawViewShell->GetEditMode() == EM_MASTERPAGE;
+				SdrModel* pSdrModel = mpView->GetModel();
+				sal_Bool bModelUndoEnabled = pSdrModel ? pSdrModel->IsUndoEnabled() : sal_False;
+				if (bInMasterView && bModelUndoEnabled)
+				{
+					pSdrModel->BegUndo();
+				}
+				mpView->ToggleMarkedObjectsBullets(bBulletSwitch, sal_False, bInMasterView, pNumRule,isRemoveNum);
+				if (bInMasterView)
+				{
+					mpView->SetAttributes(aSetAttr);
+				}
+				if (bInMasterView && bModelUndoEnabled)
+				{
+					pSdrModel->EndUndo();
+				}
+			}
+		}
+		//End
+	}
+	delete pNumRule;
+	rReq.Done();
+}
+
+void FuOutlineBullet::SetCurrentBullet(SfxRequest& rReq)
+{
+	if (!mpDoc || !mpView)
+		return;	
+
+	SfxItemSet aEditAttr( mpDoc->GetPool() );
+	mpView->GetAttributes( aEditAttr );		
+
+	SfxItemSet aNewAttr( mpViewShell->GetPool(),
+							 EE_ITEMS_START, EE_ITEMS_END );
+	aNewAttr.Put( aEditAttr, sal_False );
+
+	//Add for Sym2_3151, should add new attributes in an empty item set, then use this item set as parameter in SetAttributes()
+	SfxItemSet aSetAttr( mpViewShell->GetPool(),
+							 EE_ITEMS_START, EE_ITEMS_END );
+
+	//Init bullet level in "Customize" tab page in bullet dialog in master page view
+	if( mpView && mpViewShell && mpViewShell->ISA(DrawViewShell) 
+		&& ((DrawViewShell *)mpViewShell)->GetEditMode() == EM_MASTERPAGE )
+	{
+		SdrObject* pObj = mpView->GetTextEditObject();
+		if( pObj && pObj->GetObjIdentifier() == OBJ_OUTLINETEXT )
+		{
+			sal_uInt16 nLevel = mpView->GetSelectionLevel();
+			if( nLevel != 0xFFFF )
+			{
+				//aNewAttr.MergeRange( SID_ATTR_NUMBERING_RULE, SID_PARAM_CUR_NUM_LEVEL );
+				//aNewAttr.Put( SfxUInt16Item( SID_PARAM_CUR_NUM_LEVEL, nLevel ) );
+				//save the itemset value
+				SfxItemSet aStoreSet( aNewAttr );
+				aNewAttr.ClearItem();
+				//extend range
+				aNewAttr.MergeRange( SID_PARAM_NUM_PRESET, SID_PARAM_CUR_NUM_LEVEL );
+				aNewAttr.Put( aStoreSet );
+				//put current level user selected
+				aNewAttr.Put( SfxUInt16Item( SID_PARAM_CUR_NUM_LEVEL, nLevel ) );
+			}
+		}
+	}
+	//End of add
+
+	sal_uInt16 nActNumLvl = (sal_uInt16)0xFFFF;	
+	SvxNumRule* pNumRule = NULL;	
+	const SfxPoolItem* pTmpItem=NULL;
+	sal_uInt32 nNumItemId = SID_ATTR_NUMBERING_RULE;
+
+	if(SFX_ITEM_SET == aNewAttr.GetItemState(SID_PARAM_CUR_NUM_LEVEL, sal_False, &pTmpItem))
+		nActNumLvl = ((const SfxUInt16Item*)pTmpItem)->GetValue();
+	
+	pTmpItem=GetNumBulletItem(aNewAttr, nNumItemId);
+
+	if (pTmpItem)
+		pNumRule = new SvxNumRule(*((SvxNumBulletItem*)pTmpItem)->GetNumRule());
+		
+	SFX_REQUEST_ARG( rReq, pItem, SfxUInt16Item, FN_SVX_SET_BULLET , sal_False );
+	if (pItem && pNumRule)
+	{
+		sal_uInt16 nIdx = pItem->GetValue();
+		// If the nIdx is (sal_uInt16)0xFFFF, means set bullet status to on/off
+		// And the bullet default status is 2.
+		bool bBulletSwitch = false;
+        sal_Bool isRemoveNum =false;
+		if( nIdx == (sal_uInt16)0xFFFF )
+		{
+			nIdx = 1;
+			bBulletSwitch = true;
+		}
+		if (nIdx == DEFAULT_NONE) 
+		{
+			bBulletSwitch = false;
+			isRemoveNum = true;
+		}
+
+		nIdx--;
+		//Modified for Numbering&Bullets Dialog UX Enh(Story 992) by chengjh,2011.8.7
+		
+		NBOTypeMgrBase* pBullets = NBOutlineTypeMgrFact::CreateInstance(eNBOType::MIXBULLETS);
+		if ( pBullets )
+		{
+			//Sym3_2508, set unit attribute to NB Manager
+			pBullets->SetItems(&aNewAttr);
+			SvxNumRule aTmpRule( *pNumRule );
+			//Sym3_3423 Always apply the "." if wants a default numbering rule
+			if (bBulletSwitch==true && nIdx==0) //want to reset bullet
+			{
+				pBullets->ApplyNumRule(aTmpRule,nIdx,nActNumLvl,true);
+			}
+			else {
+				pBullets->ApplyNumRule(aTmpRule,nIdx,nActNumLvl);
+			}
+			sal_uInt16 nMask = 1;
+			for(sal_uInt16 i = 0; i < pNumRule->GetLevelCount(); i++)
+			{
+				if(nActNumLvl & nMask)
+				{
+					SvxNumberFormat aFmt(aTmpRule.GetLevel(i));					
+					pNumRule->SetLevel(i, aFmt);
+				}
+				nMask <<= 1;
+			}
+			aSetAttr.Put(SvxNumBulletItem( *pNumRule ), nNumItemId);
+
+			OutlinerView* pOLV = mpView->GetTextEditOutlinerView();
+
+	        	std::auto_ptr< OutlineViewModelChangeGuard > aGuard;
+
+		       if (mpView->ISA(OutlineView))
+		       {
+			        pOLV = static_cast<OutlineView*>(mpView)
+	                    ->GetViewByWindow(mpViewShell->GetActiveWindow());
+
+			        aGuard.reset( new OutlineViewModelChangeGuard( static_cast<OutlineView&>(*mpView) ) );
+		       }
+	
+			SdrOutliner* pOwner = mpView->GetTextEditOutliner();
+			bool bMasterView = false;
+
+			DrawViewShell* pDrawViewShell = static_cast< DrawViewShell* >(mpViewShell);
+			
+			if ( pOwner && pDrawViewShell && pDrawViewShell->GetEditMode() == EM_MASTERPAGE )
+				bMasterView = !pOwner->IsInUndo() && pOwner->IsUndoEnabled();
+
+			if( bMasterView )
+			{
+				pOwner->UndoActionStart( OLUNDO_ATTR );			
+				pOLV->ToggleBullets( bBulletSwitch, sal_True, bMasterView, pNumRule, isRemoveNum );
+				mpView->SetAttributes(aSetAttr); //Modify for Sym2_3151	
+				pOwner->UndoActionEnd( OLUNDO_ATTR );
+			}
+			else if( pOLV )	            
+				pOLV->ToggleBullets( bBulletSwitch, sal_True, bMasterView, pNumRule, isRemoveNum );
+			else
+			{	
+				sal_Bool bInMasterView = pDrawViewShell && pDrawViewShell->GetEditMode() == EM_MASTERPAGE;
+				SdrModel* pSdrModel = mpView->GetModel();
+				sal_Bool bModelUndoEnabled = pSdrModel ? pSdrModel->IsUndoEnabled() : sal_False;
+				if (bInMasterView && bModelUndoEnabled)
+				{
+					pSdrModel->BegUndo();
+				}
+				mpView->ToggleMarkedObjectsBullets(bBulletSwitch, sal_True, bInMasterView, pNumRule, isRemoveNum );
+				if (bInMasterView)
+				{
+					mpView->SetAttributes(aSetAttr);
+				}
+				if (bInMasterView && bModelUndoEnabled)
+				{
+					pSdrModel->EndUndo();
+				}
+			}
+		}
+		//End
+	}
+	delete pNumRule;
+	rReq.Done();
+}
+
+const SfxPoolItem* FuOutlineBullet::GetNumBulletItem(SfxItemSet& aNewAttr, sal_uInt32& nNumItemId)
+{
+	//SvxNumBulletItem* pRetItem = NULL;
+	const SfxPoolItem* pTmpItem = NULL;
+	
+	if(aNewAttr.GetItemState(nNumItemId, sal_False, &pTmpItem) == SFX_ITEM_SET)
+	{
+		return pTmpItem;
+	}
+	else
+	{
+		nNumItemId = aNewAttr.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
+		SfxItemState eState = aNewAttr.GetItemState(nNumItemId, sal_False, &pTmpItem);
+		if (eState == SFX_ITEM_SET)
+			return pTmpItem;
+		else
+		{
+			sal_Bool bOutliner = sal_False;
+			sal_Bool bTitle = sal_False;
+
+			if( mpView )
+     		{
+				const SdrMarkList& rMarkList = mpView->GetMarkedObjectList();
+				const sal_uInt32 nCount = rMarkList.GetMarkCount();
+            
+				for(sal_uInt32 nNum = 0; nNum < nCount; nNum++)
+				{
+					SdrObject* pObj = rMarkList.GetMark(nNum)->GetMarkedSdrObj();
+					if( pObj->GetObjInventor() == SdrInventor )
+					{
+						switch(pObj->GetObjIdentifier())
+						{
+						case OBJ_TITLETEXT:
+							bTitle = sal_True;
+							break;
+						case OBJ_OUTLINETEXT:
+							bOutliner = sal_True;
+							break;
+						}
+					}
+				}
+			}
 
+			const SvxNumBulletItem *pItem = NULL;
+			if(bOutliner)
+			{				
+				SfxStyleSheetBasePool* pSSPool = mpView->GetDocSh()->GetStyleSheetPool();
+				String aStyleName((SdResId((sal_uInt16)STR_LAYOUT_OUTLINE)));
+				aStyleName.AppendAscii( RTL_CONSTASCII_STRINGPARAM( " 1" ) );
+				SfxStyleSheetBase* pFirstStyleSheet = pSSPool->Find( aStyleName, SD_STYLE_FAMILY_PSEUDO);
+				if( pFirstStyleSheet )
+					pFirstStyleSheet->GetItemSet().GetItemState(EE_PARA_NUMBULLET, sal_False, (const SfxPoolItem**)&pItem);
+			}
+
+			if( pItem == NULL )
+				pItem = (SvxNumBulletItem*) aNewAttr.GetPool()->GetSecondaryPool()->GetPoolDefaultItem(EE_PARA_NUMBULLET);
+
+			//DBG_ASSERT( pItem, "Kein EE_PARA_NUMBULLET im Pool! [CL]" );
+
+			aNewAttr.Put(*pItem, EE_PARA_NUMBULLET);
+		
+			if(bTitle && aNewAttr.GetItemState(EE_PARA_NUMBULLET,sal_True) == SFX_ITEM_ON )
+			{
+				SvxNumBulletItem* pItem = (SvxNumBulletItem*)aNewAttr.GetItem(EE_PARA_NUMBULLET,sal_True);
+				SvxNumRule* pRule = pItem->GetNumRule();
+				if(pRule)
+				{
+					SvxNumRule aNewRule( *pRule );
+					aNewRule.SetFeatureFlag( NUM_NO_NUMBERS, sal_True );
+
+					SvxNumBulletItem aNewItem( aNewRule, EE_PARA_NUMBULLET );
+					aNewAttr.Put(aNewItem);
+				}
+			}
+
+			SfxItemState eState = aNewAttr.GetItemState(nNumItemId, sal_False, &pTmpItem);
+			if (eState == SFX_ITEM_SET)
+				return pTmpItem;
+
+		}
+		//DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!")
+	}
+	return pTmpItem;
+}
 
 } // end of namespace sd

Modified: openoffice/branches/ia2/main/sd/source/ui/func/fuoltext.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/func/fuoltext.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/func/fuoltext.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/func/fuoltext.cxx Tue Apr 23 09:51:15 2013
@@ -61,9 +61,12 @@ static sal_uInt16 SidArray[] = {
 				SID_ATTR_CHAR_FONT,
 				SID_ATTR_CHAR_POSTURE,
 				SID_ATTR_CHAR_WEIGHT,
+				SID_ATTR_CHAR_SHADOWED,
+				SID_ATTR_CHAR_STRIKEOUT,
 				SID_ATTR_CHAR_UNDERLINE,
 				SID_ATTR_CHAR_FONTHEIGHT,
 				SID_ATTR_CHAR_COLOR,
+				SID_ATTR_CHAR_KERNING,
 				SID_OUTLINE_UP,
 				SID_OUTLINE_DOWN,
 				SID_OUTLINE_LEFT,

Modified: openoffice/branches/ia2/main/sd/source/ui/func/fuparagr.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/func/fuparagr.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/func/fuparagr.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/func/fuparagr.cxx Tue Apr 23 09:51:15 2013
@@ -154,6 +154,8 @@ void FuParagraph::DoExecute( SfxRequest&
 	// invalidieren der Slots
 	static sal_uInt16 SidArray[] = {
         SID_ATTR_TABSTOP,
+	SID_ATTR_PARA_LINESPACE,
+	SID_ATTR_PARA_ULSPACE,
         SID_ATTR_PARA_ADJUST_LEFT,
         SID_ATTR_PARA_ADJUST_RIGHT,
         SID_ATTR_PARA_ADJUST_CENTER,

Modified: openoffice/branches/ia2/main/sd/source/ui/func/futext.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/func/futext.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/func/futext.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/func/futext.cxx Tue Apr 23 09:51:15 2013
@@ -93,9 +93,12 @@ static sal_uInt16 SidArray[] = {
 	SID_ATTR_CHAR_FONT,               //   10007
 	SID_ATTR_CHAR_POSTURE,            //   10008
 	SID_ATTR_CHAR_WEIGHT,             //   10009
+	SID_ATTR_CHAR_SHADOWED,		//10010
+	SID_ATTR_CHAR_STRIKEOUT,		//10013
 	SID_ATTR_CHAR_UNDERLINE,          //   10014
 	SID_ATTR_CHAR_FONTHEIGHT,         //   10015
 	SID_ATTR_CHAR_COLOR,              //   10017
+	SID_ATTR_CHAR_KERNING,			//10018
 	SID_ATTR_PARA_ADJUST_LEFT,        //   10028
 	SID_ATTR_PARA_ADJUST_RIGHT,       //   10029
 	SID_ATTR_PARA_ADJUST_CENTER,      //   10030
@@ -103,14 +106,26 @@ static sal_uInt16 SidArray[] = {
 	SID_ATTR_PARA_LINESPACE_10,       //   10034
 	SID_ATTR_PARA_LINESPACE_15,       //   10035
 	SID_ATTR_PARA_LINESPACE_20,       //   10036
+	SID_ATTR_PARA_ULSPACE,  	   //   10042
 	SID_ATTR_PARA_LRSPACE,            //   10043
+    SID_ATTR_TRANSFORM_POS_X, //  10088
+    SID_ATTR_TRANSFORM_POS_Y, //  10089
+    SID_ATTR_TRANSFORM_WIDTH, //  10090
+    SID_ATTR_TRANSFORM_HEIGHT,//  10091
+    SID_ATTR_TRANSFORM_ROT_X, //  10093
+    SID_ATTR_TRANSFORM_ROT_Y, //  10094
+    SID_ATTR_TRANSFORM_ANGLE, //  10095 //Added
 	SID_OUTLINE_UP,                   //   10150
 	SID_OUTLINE_DOWN,                 //   10151
 	SID_OUTLINE_LEFT,                 //   10152
 	SID_OUTLINE_RIGHT,                //   10153
+    SID_ATTR_TRANSFORM_PROTECT_POS,//  10236
+    SID_ATTR_TRANSFORM_PROTECT_SIZE,// 10237 //Added
 	SID_FORMTEXT_STYLE,               //   10257
 	SID_SET_SUPER_SCRIPT,             //   10294
 	SID_SET_SUB_SCRIPT,               //   10295
+    SID_ATTR_TRANSFORM_AUTOWIDTH,//    10310
+    SID_ATTR_TRANSFORM_AUTOHEIGHT,//   10311 //Added
 	SID_HYPERLINK_GETLINK,            //   10361
 	SID_CHARMAP,					  //   10503
 	SID_TEXTDIRECTION_LEFT_TO_RIGHT,  //   10907
@@ -1183,7 +1198,8 @@ void FuText::SetInEditMode(const MouseEv
 						{
 							// #98198# Move cursor to end of text
 							ESelection aNewSelection(EE_PARA_NOT_FOUND, EE_INDEX_NOT_FOUND, EE_PARA_NOT_FOUND, EE_INDEX_NOT_FOUND);
-							pOLV->SetSelection(aNewSelection);
+							if (pOLV != NULL)
+								pOLV->SetSelection(aNewSelection);
 						}
 					}
 					else

Modified: openoffice/branches/ia2/main/sd/source/ui/inc/DrawViewShell.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/inc/DrawViewShell.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/inc/DrawViewShell.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/inc/DrawViewShell.hxx Tue Apr 23 09:51:15 2013
@@ -28,8 +28,10 @@
 #include "tools/AsynchronousCall.hxx"
 #include <sfx2/viewfac.hxx>
 #include <sfx2/viewsh.hxx>
+#include <sfx2/sidebar/EnumContext.hxx>
 #include "TabControl.hxx"
 #include "pres.hxx"
+#include <svx/sidebar/SelectionChangeHandler.hxx>
 #include <com/sun/star/lang/XEventListener.hpp>
 #include <com/sun/star/scanner/XScannerManager.hpp>
 
@@ -164,6 +166,7 @@ public:
 
 	void	        ExecCtrl(SfxRequest& rReq);
 	void	        GetCtrlState(SfxItemSet& rSet);
+	void	        GetDrawAttrState(SfxItemSet& rSet);
 	void	        GetMenuState(SfxItemSet& rSet);
 	void	        GetTableMenuState(SfxItemSet& rSet);
     /** Set the items of the given item set that are related to
@@ -196,6 +199,9 @@ public:
 	void	        ExecNavigatorWin(SfxRequest& rReq);
 	void	        GetNavigatorWinState(SfxItemSet& rSet);
 
+	void         ExecutePropPanelAttr (SfxRequest& rReq);
+	void	        GetStatePropPanelAttr(SfxItemSet& rSet);
+
 	void	        ExecEffectWin(SfxRequest& rReq);
 
 	void	        Update3DWindow();
@@ -218,6 +224,8 @@ public:
 	void	        AttrExec (SfxRequest& rReq);
 	void	        AttrState (SfxItemSet& rSet);
 
+	void		ExecChar(SfxRequest& rReq);
+
     void            ExecuteAnnotation (SfxRequest& rRequest);
     void            GetAnnotationState (SfxItemSet& rItemSet);
 
@@ -430,6 +438,10 @@ private:
     */
     bool mbIsInSwitchPage;
 
+    /** Listen for selection changes and broadcast context changes for the sidebar.
+    */
+    ::rtl::Reference<svx::sidebar::SelectionChangeHandler> mpSelectionChangeHandler;
+    
 	void Construct (DrawDocShell* pDocSh, PageKind ePageKind);
 
     /** Depending on the given request create a new page or duplicate an
@@ -483,6 +495,8 @@ private:
         const sal_uInt16 nSnapLineIndex,
         const Point& rMouseLocation);
 
+    ::sfx2::sidebar::EnumContext::Context GetContextForSelection (void) const;
+    
 	using ViewShell::Notify;
 	
 	::std::auto_ptr< AnnotationManager > mpAnnotationManager;

Modified: openoffice/branches/ia2/main/sd/source/ui/inc/PaneChildWindows.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/inc/PaneChildWindows.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/inc/PaneChildWindows.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/inc/PaneChildWindows.hxx Tue Apr 23 09:51:15 2013
@@ -68,29 +68,7 @@ public:
     SFX_DECL_CHILDWINDOW(LeftPaneDrawChildWindow);
 };
 
-
-
-
-//======================================================================================================================
-//= ToolPanelChildWindow
-//======================================================================================================================
-class ToolPanelChildWindow  :public PaneChildWindow
-                            ,public ::sfx2::ITaskPaneToolPanelAccess
-{
-public:
-    ToolPanelChildWindow(
-        ::Window* i_pParentWindow,
-        sal_uInt16 i_nId, 
-        SfxBindings* i_pBindings, 
-        SfxChildWinInfo* i_pChildWindowInfo );
-
-    SFX_DECL_CHILDWINDOW( ToolPanelChildWindow );
-
-    // ::sfx2::ITaskPaneToolPanelAccess
-    virtual void ActivateToolPanel( const ::rtl::OUString& i_rPanelURL );
-};
-
-
+    
 } // end of namespace ::sd
 
 #endif

Modified: openoffice/branches/ia2/main/sd/source/ui/inc/SlideSorterViewShell.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/inc/SlideSorterViewShell.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/inc/SlideSorterViewShell.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/inc/SlideSorterViewShell.hxx Tue Apr 23 09:51:15 2013
@@ -115,6 +115,7 @@ public:
     virtual void ArrangeGUIElements (void);
 
 	virtual void Activate (sal_Bool IsMDIActivate);
+	virtual void Deactivate (sal_Bool IsMDIActivate);
 
     //===== Drag and Drop =====================================================
 

Modified: openoffice/branches/ia2/main/sd/source/ui/inc/TextObjectBar.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/inc/TextObjectBar.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/inc/TextObjectBar.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/inc/TextObjectBar.hxx Tue Apr 23 09:51:15 2013
@@ -51,6 +51,7 @@ public:
 	virtual ~TextObjectBar (void);
 
 	void GetAttrState( SfxItemSet& rSet );
+	void GetCharState( SfxItemSet& rSet );
 	void Execute( SfxRequest &rReq );
 
 	virtual void Command( const CommandEvent& rCEvt );

Modified: openoffice/branches/ia2/main/sd/source/ui/inc/View.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/inc/View.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/inc/View.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/inc/View.hxx Tue Apr 23 09:51:15 2013
@@ -36,6 +36,7 @@
 #include "fupoor.hxx"
 
 #include "smarttag.hxx"
+#include <editeng/numitem.hxx>
 
 class SdDrawDocument;
 class SdrOle2Obj;
@@ -190,6 +191,8 @@ public:
 	virtual void CheckPossibilities();
 	virtual sal_Bool MarkPoints(const ::Rectangle* pRect, sal_Bool bUnmark);
 	using SdrMarkView::MarkPoints;
+	sal_Bool ShouldToggleOn(sal_Bool bBulletOnOffMode, sal_Bool bNormalBullet);
+	void ToggleMarkedObjectsBullets(sal_Bool bBulletOnOffMode, sal_Bool bNormalBullet, sal_Bool bMasterView, SvxNumRule* pNumRule = NULL, sal_Bool bForceBulletOnOff = false);
 
 	void SetPossibilitiesDirty() { bPossibilitiesDirty = true; }
 	void SetMoveAllowed( bool bSet ) { bMoveAllowed = bSet; }

Modified: openoffice/branches/ia2/main/sd/source/ui/inc/ViewShell.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/inc/ViewShell.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/inc/ViewShell.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/inc/ViewShell.hxx Tue Apr 23 09:51:15 2013
@@ -35,9 +35,7 @@
 #include "glob.hxx"
 #include "pres.hxx"
 #include "cfgids.hxx"
-#ifndef _SD_VIEW_HXX
 #include "View.hxx"
-#endif
 #include "sddllapi.h"
 
 #include <com/sun/star/drawing/XDrawSubController.hpp>
@@ -111,7 +109,7 @@ public:
         ST_OUTLINE, 
         ST_SLIDE_SORTER,
         ST_PRESENTATION,
-        ST_TASK_PANE
+        ST_SIDEBAR
     };
     static const int MAX_HSPLIT_CNT = 1;
     static const int MAX_VSPLIT_CNT = 1;
@@ -212,6 +210,8 @@ public:
 	virtual void SetUIUnit(FieldUnit eUnit);
 	virtual void SetDefTabHRuler( sal_uInt16 nDefTab );
 
+	const SfxPoolItem* GetNumBulletItem(SfxItemSet& aNewAttr, sal_uInt16& nNumItemId);
+
     sal_Bool HasRuler (void);
 	void SetRuler(sal_Bool bRuler);
 

Modified: openoffice/branches/ia2/main/sd/source/ui/inc/celltempl.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/inc/celltempl.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/inc/celltempl.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/inc/celltempl.hxx Tue Apr 23 09:51:15 2013
@@ -26,7 +26,7 @@
 
 #include <sfx2/styledlg.hxx>
 
-class XColorTable;
+class XColorList;
 class XGradientList;
 class XHatchList;
 class XBitmapList;
@@ -36,7 +36,7 @@ class SdrModel;
 class SdPresCellTemplateDlg : public SfxStyleDialog
 {
 private:
-	XColorTable*		mpColorTab;
+	XColorList*		mpColorTab;
 	XGradientList*		mpGradientList;
 	XHatchList*			mpHatchingList;
 	XBitmapList*		mpBitmapList;

Modified: openoffice/branches/ia2/main/sd/source/ui/inc/copydlg.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/inc/copydlg.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/inc/copydlg.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/inc/copydlg.hxx Tue Apr 23 09:51:15 2013
@@ -33,7 +33,7 @@
 #include <vcl/fixed.hxx>
 #include <sfx2/basedlgs.hxx>
 
-class XColorTable;
+class XColorList;
 
 namespace sd {
 
@@ -49,7 +49,7 @@ class CopyDlg 
 {
 public:
     CopyDlg( ::Window* pWindow, const SfxItemSet& rInAttrs,
-        XColorTable* pColTab, ::sd::View* pView );
+        XColorList* pColTab, ::sd::View* pView );
     ~CopyDlg();
 
 	void	GetAttr( SfxItemSet& rOutAttrs );
@@ -86,7 +86,7 @@ private:
 	PushButton			maBtnSetDefault;
 
 	const SfxItemSet&	mrOutAttrs;
-	XColorTable*		mpColorTab;
+	XColorList*		mpColorTab;
 	Fraction			maUIScale;
 	::sd::View*			mpView;
 

Modified: openoffice/branches/ia2/main/sd/source/ui/inc/dlgpage.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/inc/dlgpage.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/inc/dlgpage.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/inc/dlgpage.hxx Tue Apr 23 09:51:15 2013
@@ -29,7 +29,7 @@
 #include "dlgpage.hrc"
 
 class SfxObjectShell;
-class XColorTable;
+class XColorList;
 class XGradientList;
 class XHatchList;
 class XBitmapList;
@@ -48,7 +48,7 @@ private:
 
 	const SfxObjectShell* mpDocShell;
 
-	XColorTable*		mpColorTab;
+	XColorList*		mpColorTab;
 	XGradientList*		mpGradientList;
 	XHatchList*			mpHatchingList;
 	XBitmapList*		mpBitmapList;

Modified: openoffice/branches/ia2/main/sd/source/ui/inc/framework/FrameworkHelper.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/inc/framework/FrameworkHelper.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/inc/framework/FrameworkHelper.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/inc/framework/FrameworkHelper.hxx Tue Apr 23 09:51:15 2013
@@ -48,6 +48,8 @@ class OUString;
 }
 
 namespace css = ::com::sun::star;
+namespace cssu = ::com::sun::star::uno;
+namespace cssdf = ::com::sun::star::drawing::framework;
 
 namespace sd { namespace framework {
 
@@ -56,10 +58,10 @@ namespace sd { namespace framework {
     It has three main tasks:
     1. Provide frequently used strings of resource URLs and event names.
     2. Provide shortcuts for accessing the sd framework.
-    3. Easy the migration to the drawing framwork.
+    3. Ease the migration to the drawing framwork.
 
     Note that a FrameworkHelper disposes itself when one of the resource
-    controllers called by it throw a DisposedException.
+    controllers called by it throws a DisposedException.
 */
 class FrameworkHelper
     : public ::boost::enable_shared_from_this<FrameworkHelper>,
@@ -72,7 +74,7 @@ public:
     static const ::rtl::OUString msFullScreenPaneURL;
     static const ::rtl::OUString msLeftImpressPaneURL;
     static const ::rtl::OUString msLeftDrawPaneURL;
-    static const ::rtl::OUString msRightPaneURL;
+    static const ::rtl::OUString msSidebarPaneURL;
 
     // URLs of frequently used views.
     static const ::rtl::OUString msViewURLPrefix;
@@ -83,7 +85,7 @@ public:
     static const ::rtl::OUString msHandoutViewURL;
     static const ::rtl::OUString msSlideSorterURL;
     static const ::rtl::OUString msPresentationViewURL;
-    static const ::rtl::OUString msTaskPaneURL;
+    static const ::rtl::OUString msSidebarViewURL;
 
     // URLs of frequently used tool bars.
     static const ::rtl::OUString msToolBarURLPrefix;
@@ -91,7 +93,9 @@ public:
 
     // URLs of task panels.
     static const ::rtl::OUString msTaskPanelURLPrefix;
-    static const ::rtl::OUString msMasterPagesTaskPanelURL;
+    static const ::rtl::OUString msAllMasterPagesTaskPanelURL;
+    static const ::rtl::OUString msRecentMasterPagesTaskPanelURL;
+    static const ::rtl::OUString msUsedMasterPagesTaskPanelURL;
     static const ::rtl::OUString msLayoutTaskPanelURL;
     static const ::rtl::OUString msTableDesignPanelURL;
     static const ::rtl::OUString msCustomAnimationTaskPanelURL;
@@ -102,6 +106,7 @@ public:
     static const ::rtl::OUString msResourceDeactivationRequestEvent;
     static const ::rtl::OUString msResourceActivationEvent;
     static const ::rtl::OUString msResourceDeactivationEvent;
+    static const ::rtl::OUString msResourceDeactivationEndEvent;
     static const ::rtl::OUString msConfigurationUpdateStartEvent;
     static const ::rtl::OUString msConfigurationUpdateEndEvent;
 
@@ -116,7 +121,7 @@ public:
     static ::boost::shared_ptr<FrameworkHelper> Instance (ViewShellBase& rBase);
 
     static ::boost::shared_ptr<FrameworkHelper> Instance (
-        const css::uno::Reference<css::frame::XController>& rxController);
+        const cssu::Reference<css::frame::XController>& rxController);
 
     /** Mark the FrameworkHelper object for the given ViewShellBase as
         disposed.  A following ReleaseInstance() call will destroy the
@@ -153,17 +158,15 @@ public:
             reference then an empty pointer is returned.
     */
     static ::boost::shared_ptr<ViewShell> GetViewShell (
-        const css::uno::Reference<css::drawing::framework::XView>& rxView);
+        const cssu::Reference<cssdf::XView>& rxView);
 
-    ~FrameworkHelper (void);
-
-    typedef ::boost::function<bool(const css::drawing::framework::ConfigurationChangeEvent&)>
+    typedef ::boost::function<bool(const cssdf::ConfigurationChangeEvent&)>
         ConfigurationChangeEventFilter;
     typedef ::boost::function<void(bool bEventSeen)> Callback;
     typedef ::boost::function<
         void(
-            const css::uno::Reference<
-                css::drawing::framework::XResourceId>&)
+            const cssu::Reference<
+                cssdf::XResourceId>&)
         > ResourceFunctor;
 
     /** Test whether the called FrameworkHelper object is valid.
@@ -196,10 +199,19 @@ public:
             of the involved objects does not support XTunnel (where
             necessary).
     */
-    css::uno::Reference<css::drawing::framework::XView>
-        GetView (
-            const css::uno::Reference<
-                css::drawing::framework::XResourceId>& rxPaneOrViewId);
+    cssu::Reference<cssdf::XView> GetView (
+        const cssu::Reference<cssdf::XResourceId>& rxPaneOrViewId);
+
+    /** Return the XWindow that is represented by the pane with the
+        given resource id.
+    */
+    cssu::Reference<css::awt::XWindow> GetPaneWindow (
+        const cssu::Reference<cssdf::XResourceId>& rxPaneId);
+
+    /** Return the XResource object with the given resource id.
+    */
+    cssu::Reference<cssdf::XResource> GetResource (
+        const cssu::Reference<cssdf::XResourceId>& rxResourceId);
 
     /** Request the specified view to be displayed in the specified pane.
         When the pane is not visible its creation is also requested.  The
@@ -213,24 +225,33 @@ public:
             the caller can, for example, call RunOnResourceActivation() to
             do some initialization after the requested view becomes active.
     */
-    css::uno::Reference<css::drawing::framework::XResourceId> RequestView (
+    cssu::Reference<cssdf::XResourceId> RequestView (
         const ::rtl::OUString& rsResourceURL,
         const ::rtl::OUString& rsAnchorURL);
 
-    /** Request the activation of the specified task panel in the standard
-        task pane.
-        @param rsTaskPanelURL
+    /** Request the activation of the specified panel in the
+        sidebar.
+        @param rsSidebarPanelURL
             The panel that is to be activated.
-        @param bEnsureTaskPaneIsVisible
-            When this is <TRUE/> then the task pane is activated when not
+        @param bEnsurePaneIsVisible
+            When this is <TRUE/> then the sidebar pane is activated when not
             yet active.
             When this flag is <FALSE/> then the requested panel
             is activated only when the task pane is already active.  When it
             is not active then this call is silently ignored.
+        @return
+            The resource id of the requested sidebar panel is returned.  With that
+            the caller can, for example, call RunOnResourceActivation() to
+            do some initialization after the requested view becomes active.
     */
-    void RequestTaskPanel (
-        const ::rtl::OUString& rsTaskPanelURL,
+    cssu::Reference<cssdf::XResourceId> RequestSidebarPanel (
+        const ::rtl::OUString& rsSidebarPanelURL,
         const bool bEnsureTaskPaneIsVisible = true);
+
+    /** Request the deactivation of the specified resource.
+    */
+    void RequestResourceDeactivation (
+        const cssu::Reference<cssdf::XResourceId>& rxResourceId);
     
     /** Process a slot call that requests a view shell change.
     */
@@ -260,9 +281,30 @@ public:
         
     */
     void RunOnResourceActivation(
-        const css::uno::Reference<css::drawing::framework::XResourceId>& rxResourceId,
+        const cssu::Reference<cssdf::XResourceId>& rxResourceId,
         const Callback& rCallback);
 
+    /** Run the given callback when the specified resource has been
+        deactivated.  When the resource is not active already when
+        this method is called then rCallback is called before this
+        method returns.
+        @param rxResourceId
+            Wait for the deactivation of this resource before calling
+            rCallback.
+        @param rCallback
+            The callback to be called when the resource is
+            deactivated.
+        @param bRunOnDeactivationEnd
+            The callback is run either when the deactivation starts
+            and the callback can still access the resource or when the
+            deactivatio is complete and the resource is no longer available.
+        
+    */
+    void RunOnResourceDeactivation(
+        const cssu::Reference<cssdf::XResourceId>& rxResourceId,
+        const Callback& rCallback,
+        const bool bRunOnDeactivationEnd);
+
     /** Normally the requested changes of the configuration are executed
         asynchronously.  However, there is at least one situation (searching
         with the Outliner) where the surrounding code does not cope with
@@ -296,21 +338,21 @@ public:
     /** Return a string representation of the given XResourceId object.
     */
     static ::rtl::OUString ResourceIdToString (
-        const css::uno::Reference<
-            css::drawing::framework::XResourceId>& rxResourceId);
+        const cssu::Reference<
+            cssdf::XResourceId>& rxResourceId);
 
     /** Create a new XResourceId object for the given resource URL.
     */
-    static css::uno::Reference<
-        css::drawing::framework::XResourceId>
+    static cssu::Reference<
+        cssdf::XResourceId>
             CreateResourceId (
                 const ::rtl::OUString& rsResourceURL);
 
     /** Create a new XResourceId object for the given resource URL and a
         single anchor URL.
     */
-    static css::uno::Reference<
-        css::drawing::framework::XResourceId>
+    static cssu::Reference<
+        cssdf::XResourceId>
             CreateResourceId (
                 const ::rtl::OUString& rsResourceURL,
                 const ::rtl::OUString& rsAnchorURL);
@@ -318,8 +360,8 @@ public:
     /** Create a new XResourceId object for the given resource URL and the
         two given anchor URLs.
     */
-    static css::uno::Reference<
-        css::drawing::framework::XResourceId>
+    static cssu::Reference<
+        cssdf::XResourceId>
             CreateResourceId (
                 const ::rtl::OUString& rsResourceURL,
                 const ::rtl::OUString& rsFirstAnchorURL,
@@ -327,14 +369,14 @@ public:
 
     /** Create a new XResourceId object for the given resource URL.
     */
-    static css::uno::Reference<
-        css::drawing::framework::XResourceId>
+    static cssu::Reference<
+        cssdf::XResourceId>
             CreateResourceId (
                 const ::rtl::OUString& rsResourceURL,
-                const css::uno::Reference<
-                    css::drawing::framework::XResourceId>& rxAnchor);
+                const cssu::Reference<
+                    cssdf::XResourceId>& rxAnchor);
 
-    css::uno::Reference<css::drawing::framework::XConfigurationController>
+    cssu::Reference<cssdf::XConfigurationController>
         GetConfigurationController (void) const;
 
 
@@ -350,16 +392,18 @@ private:
     static ::boost::scoped_ptr<ViewURLMap> mpViewURLMap;
 
     ViewShellBase& mrBase;
-    css::uno::Reference<css::drawing::framework::XConfigurationController>
+    cssu::Reference<cssdf::XConfigurationController>
         mxConfigurationController;
 
     class DisposeListener;
     friend class DisposeListener;
-    css::uno::Reference<css::lang::XComponent>
+    cssu::Reference<css::lang::XComponent>
         mxDisposeListener;
     
     FrameworkHelper (ViewShellBase& rBase);
     FrameworkHelper (const FrameworkHelper& rHelper); // Not implemented.
+    ~FrameworkHelper (void);
+    class Deleter; friend class Deleter;
     FrameworkHelper& operator= (const FrameworkHelper& rHelper); // Not implemented.
 
     void Initialize (void);
@@ -399,7 +443,7 @@ namespace {
     class FrameworkHelperAllPassFilter
     {
     public:
-        bool operator() (const css::drawing::framework::ConfigurationChangeEvent&) { return true; }
+        bool operator() (const cssdf::ConfigurationChangeEvent&) { return true; }
     };
 
 
@@ -407,12 +451,12 @@ namespace {
     {
     public:
         FrameworkHelperResourceIdFilter (
-            const css::uno::Reference<css::drawing::framework::XResourceId>& rxResourceId);
-        bool operator() (const css::drawing::framework::ConfigurationChangeEvent& rEvent)
+            const cssu::Reference<cssdf::XResourceId>& rxResourceId);
+        bool operator() (const cssdf::ConfigurationChangeEvent& rEvent)
         { return mxResourceId.is() && rEvent.ResourceId.is()
                 && mxResourceId->compareTo(rEvent.ResourceId) == 0; }
     private:
-        css::uno::Reference<css::drawing::framework::XResourceId> mxResourceId;
+        cssu::Reference<cssdf::XResourceId> mxResourceId;
     };
 
 } // end of anonymous namespace

Modified: openoffice/branches/ia2/main/sd/source/ui/inc/framework/Pane.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/inc/framework/Pane.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/inc/framework/Pane.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/inc/framework/Pane.hxx Tue Apr 23 09:51:15 2013
@@ -94,6 +94,7 @@ public:
     */
     virtual ::Window* GetWindow (void);
 
+    void SetWindow (::Window* pWindow);
     
     //----- XPane -------------------------------------------------------------
 

Modified: openoffice/branches/ia2/main/sd/source/ui/inc/fuolbull.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/inc/fuolbull.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/inc/fuolbull.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/inc/fuolbull.hxx Tue Apr 23 09:51:15 2013
@@ -28,6 +28,8 @@
 
 class SdDrawDocument;
 class SfxRequest;
+class SfxItemSet;
+class SfxPoolItem;
 
 namespace sd {
 
@@ -49,6 +51,8 @@ public:
 
 	static FunctionReference Create( ViewShell* pViewSh, ::sd::Window* pWin, ::sd::View* pView, SdDrawDocument* pDoc, SfxRequest& rReq );
 	virtual void DoExecute( SfxRequest& rReq );
+	void SetCurrentBullet(SfxRequest& rReq);
+	void SetCurrentNumbering(SfxRequest& rReq);
 
 private:
 	FuOutlineBullet (
@@ -57,8 +61,11 @@ private:
         ::sd::View* pView,
         SdDrawDocument* pDoc, 
         SfxRequest& rReq);
+
+	const SfxPoolItem* GetNumBulletItem(SfxItemSet& aNewAttr, sal_uInt32& nNumItemId);
 };
 
+
 } // end of namespace sd
 
 #endif

Modified: openoffice/branches/ia2/main/sd/source/ui/inc/navigatr.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/inc/navigatr.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/inc/navigatr.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/inc/navigatr.hxx Tue Apr 23 09:51:15 2013
@@ -88,11 +88,21 @@ class SdNavigatorWin
     : public Window
 {
 public:
+    typedef ::boost::function<void(void)> UpdateRequestFunctor;
+    
+    /** Create a new instance of the navigator.
+        @param bUseActiveUpdate
+            When <TRUE/>, the default, then the SdNavigatorWin object
+            will make a SID_NAVIGATOR_INIT call whenever it thinks an
+            update is necessary.  When <FALSE/> the navigator will
+            rely on others to trigger updates.
+    */
     SdNavigatorWin(
         ::Window* pParent,
         ::sd::NavigatorChildWindow* pChildWinContext,
         const SdResId& rSdResId,
-        SfxBindings* pBindings );
+        SfxBindings* pBindings,
+        const UpdateRequestFunctor& rUpdateRequest);
     virtual ~SdNavigatorWin();
 
 	virtual void				KeyInput( const KeyEvent& rKEvt );
@@ -137,7 +147,7 @@ private:
     /** This flag controls whether all shapes or only the named shapes are
         shown.
     */
-    bool                        mbShowAllShapes;
+    //    bool                        mbShowAllShapes;
 
 	sal_uInt16						GetDragTypeSdResId( NavigatorDragType eDT, sal_Bool bImage = sal_False );
 	NavDocInfo*					GetDocInfo();
@@ -169,7 +179,8 @@ private:
 class SdNavigatorControllerItem : public SfxControllerItem
 {
 public:
-	SdNavigatorControllerItem( sal_uInt16, SdNavigatorWin*, SfxBindings* );
+	SdNavigatorControllerItem( sal_uInt16, SdNavigatorWin*, SfxBindings*,
+        const SdNavigatorWin::UpdateRequestFunctor& rUpdateRequest);
 
 protected:
 	virtual void StateChanged( sal_uInt16 nSId, SfxItemState eState,
@@ -177,6 +188,7 @@ protected:
 
 private:
 	SdNavigatorWin* pNavigatorWin;
+    const SdNavigatorWin::UpdateRequestFunctor maUpdateRequest;
 };
 
 
@@ -190,7 +202,8 @@ private:
 class SdPageNameControllerItem : public SfxControllerItem
 {
 public:
-	SdPageNameControllerItem( sal_uInt16, SdNavigatorWin*, SfxBindings* );
+	SdPageNameControllerItem( sal_uInt16, SdNavigatorWin*, SfxBindings*,
+        const SdNavigatorWin::UpdateRequestFunctor& rUpdateRequest);
 
 protected:
 	virtual void StateChanged( sal_uInt16 nSId, SfxItemState eState,
@@ -198,6 +211,7 @@ protected:
 
 private:
 	SdNavigatorWin* pNavigatorWin;
+    const SdNavigatorWin::UpdateRequestFunctor maUpdateRequest;
 };
 
 #endif

Modified: openoffice/branches/ia2/main/sd/source/ui/inc/prltempl.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/inc/prltempl.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/inc/prltempl.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/inc/prltempl.hxx Tue Apr 23 09:51:15 2013
@@ -34,7 +34,7 @@
 #include "prlayout.hxx" // fuer enum PresentationObjects
 
 
-class XColorTable;
+class XColorList;
 class XGradientList;
 class XHatchList;
 class XBitmapList;
@@ -54,7 +54,7 @@ class SdPresLayoutTemplateDlg : public S
 private:
 	const SfxObjectShell*	mpDocShell;
 
-	XColorTable*		pColorTab;
+	XColorList*		pColorTab;
 	XGradientList*		pGradientList;
 	XHatchList*			pHatchingList;
 	XBitmapList*		pBitmapList;

Modified: openoffice/branches/ia2/main/sd/source/ui/inc/tabtempl.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/inc/tabtempl.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/inc/tabtempl.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/inc/tabtempl.hxx Tue Apr 23 09:51:15 2013
@@ -30,7 +30,7 @@
 class SdrModel;
 class SfxObjectShell;
 class SdrView;
-class XColorTable;
+class XColorList;
 class XGradientList;
 class XBitmapList;
 class XDashList;
@@ -49,7 +49,7 @@ private:
 	const SfxObjectShell&	rDocShell;
 	SdrView*				pSdrView;
 
-	XColorTable*		pColorTab;
+	XColorList*		pColorTab;
 	XGradientList*		pGradientList;
 	XHatchList*			pHatchingList;
 	XBitmapList*		pBitmapList;

Modified: openoffice/branches/ia2/main/sd/source/ui/inc/tpaction.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/inc/tpaction.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/inc/tpaction.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/inc/tpaction.hxx Tue Apr 23 09:51:15 2013
@@ -89,7 +89,7 @@ private:
 	const SfxItemSet&	    rOutAttrs;
 	const ::sd::View*		mpView;
 	SdDrawDocument*		    mpDoc;
-	XColorTable*		    pColTab;
+	XColorList*		    pColTab;
                             
 	sal_Bool				    bTreeUpdated;
 	List*   			    pCurrentActions;

Modified: openoffice/branches/ia2/main/sd/source/ui/presenter/PresenterHelper.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/presenter/PresenterHelper.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/presenter/PresenterHelper.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/presenter/PresenterHelper.cxx Tue Apr 23 09:51:15 2013
@@ -35,6 +35,7 @@
 #include <vcl/svapp.hxx>
 #include <vcl/window.hxx>
 #include <vcl/wrkwin.hxx>
+#include <vcl/imagerepository.hxx>
 
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
@@ -263,18 +264,17 @@ Reference<rendering::XBitmap> SAL_CALL P
 
     if (pCanvas.get()!=NULL && rsURL.getLength()>0 && mpGraphicFilter.get()!=NULL)
     {
-        Graphic aGraphic;
-        OUString sFileName;
-        if (osl::FileBase::getSystemPathFromFileURL(rsURL, sFileName)
-            == osl::FileBase::E_None)
+        sal_Int32 nIndex = 0;
+        if( rsURL.getToken( 0, '/', nIndex ).equalsAsciiL(
+            RTL_CONSTASCII_STRINGPARAM( "private:graphicrepository" ) ) )
         {
-            if (mpGraphicFilter->ImportGraphic(aGraphic, rsURL) == GRFILTER_OK)
-            {
-                BitmapEx aBitmapEx (aGraphic.GetBitmapEx());
+            OUString sPathName( rsURL.copy( nIndex ) );
+            BitmapEx aBitmap;
+            if ( ::vcl::ImageRepository::loadImage( sPathName, aBitmap, false )
+                && !aBitmap.IsEmpty() )
                 return cppcanvas::VCLFactory::getInstance().createBitmap(
                     pCanvas,
-                    aBitmapEx)->getUNOBitmap();
-            }
+                    aBitmap)->getUNOBitmap();
         }
     }
 

Modified: openoffice/branches/ia2/main/sd/source/ui/presenter/PresenterHelper.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/presenter/PresenterHelper.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/presenter/PresenterHelper.hxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/presenter/PresenterHelper.hxx Tue Apr 23 09:51:15 2013
@@ -47,7 +47,7 @@ namespace {
 /** Implementation of the XPresenterHelper interface: functionality that can
     not be implemented in an extension.
 */
-    class PresenterHelper
+class PresenterHelper
     : private ::boost::noncopyable,
       private ::cppu::BaseMutex,
       public PresenterHelperInterfaceBase

Modified: openoffice/branches/ia2/main/sd/source/ui/slideshow/slideshowimpl.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/slideshow/slideshowimpl.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/slideshow/slideshowimpl.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/slideshow/slideshowimpl.cxx Tue Apr 23 09:51:15 2013
@@ -56,7 +56,7 @@
 #include <svx/f3dchild.hxx>
 #include <svx/imapdlg.hxx>
 #include <svx/fontwork.hxx>
-#include <svx/colrctrl.hxx>
+#include <svx/SvxColorChildWindow.hxx>
 #include <svx/bmpmask.hxx>
 #include <svx/srchdlg.hxx>
 #include <svx/hyprlink.hxx>

Modified: openoffice/branches/ia2/main/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx Tue Apr 23 09:51:15 2013
@@ -191,7 +191,8 @@ void SlotManager::FuTemporary (SfxReques
             // in the tool pane.
             if (mrSlideSorter.GetViewShellBase() != NULL)
                 framework::FrameworkHelper::Instance(*mrSlideSorter.GetViewShellBase())
-                    ->RequestTaskPanel(sd::framework::FrameworkHelper::msSlideTransitionTaskPanelURL);
+                    ->RequestSidebarPanel(
+                        sd::framework::FrameworkHelper::msSlideTransitionTaskPanelURL);
             rRequest.Ignore ();
             break;
         }

Modified: openoffice/branches/ia2/main/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx (original)
+++ openoffice/branches/ia2/main/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx Tue Apr 23 09:51:15 2013
@@ -51,6 +51,7 @@
 #include "sdresid.hxx"
 #include "AccessibleSlideSorterView.hxx"
 #include "DrawDocShell.hxx"
+#include "DrawViewShell.hxx"
 #include "FrameView.hxx"
 #include "SdUnoSlideView.hxx"
 #include "ViewShellManager.hxx"
@@ -62,7 +63,10 @@
 #include <sfx2/bindings.hxx>
 #include <sfx2/dispatch.hxx>
 #include <sfx2/request.hxx>
+#include <sfx2/sidebar/SidebarChildWindow.hxx>
 #include <svx/svxids.hrc>
+#include <sfx2/sidebar/EnumContext.hxx>
+#include <svx/sidebar/ContextChangeEventMultiplexer.hxx>
 #include <com/sun/star/drawing/framework/XControllerManager.hpp>
 #include <com/sun/star/drawing/framework/ResourceId.hpp>
 #include <cppuhelper/bootstrap.hxx>
@@ -77,12 +81,14 @@ using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::drawing::framework;
 
 using ::sd::framework::FrameworkHelper;
+using ::sfx2::sidebar::EnumContext;
 
 namespace sd { namespace slidesorter {
 
 
 SFX_IMPL_INTERFACE(SlideSorterViewShell, SfxShell, SdResId(STR_SLIDESORTERVIEWSHELL))
 {
+	SFX_CHILDWINDOW_REGISTRATION(::sfx2::sidebar::SidebarChildWindow::GetChildWindowId());
 }
 
 
@@ -220,12 +226,11 @@ SlideSorterViewShell* SlideSorterViewShe
 {
     SlideSorterViewShell* pViewShell = NULL;
     
-    // Test the center, left, and then the right pane for showing a slide sorter.
+    // Test the center and left pane for showing a slide sorter.
     ::rtl::OUString aPaneURLs[] = {
         FrameworkHelper::msCenterPaneURL,
         FrameworkHelper::msFullScreenPaneURL,
         FrameworkHelper::msLeftImpressPaneURL,
-        FrameworkHelper::msRightPaneURL,
         ::rtl::OUString()};
 
     try
@@ -547,6 +552,50 @@ void SlideSorterViewShell::Activate (sal
     ViewShell::Activate(bIsMDIActivate);
     if (mbIsArrangeGUIElementsPending)
         ArrangeGUIElements();
+
+    // Determine and broadcast the context that belongs to the main view shell.
+    EnumContext::Context eContext = EnumContext::Context_Unknown;
+    ::boost::shared_ptr<ViewShell> pMainViewShell (GetViewShellBase().GetMainViewShell());
+	ViewShell::ShellType eMainViewShellType (
+        pMainViewShell
+            ? pMainViewShell->GetShellType()
+            : ViewShell::ST_NONE);
+	switch (eMainViewShellType)
+	{
+		case ViewShell::ST_IMPRESS:
+            eContext = EnumContext::Context_DrawPage;
+			if (pMainViewShell->ISA(DrawViewShell))
+            {
+				DrawViewShell* pDrawViewShell = static_cast<DrawViewShell*>(pMainViewShell.get());
+                if (pDrawViewShell && (pDrawViewShell->GetEditMode()== EM_MASTERPAGE))
+                    eContext = EnumContext::Context_MasterPage;
+            }
+			break;
+            
+		case ViewShell::ST_SLIDE_SORTER:
+			eContext = EnumContext::Context_SlidesorterPage;
+			break;
+            
+		case ViewShell::ST_NOTES:
+			eContext = EnumContext::Context_NotesPage;
+			break;
+            
+		default:
+			break;
+	}
+    ContextChangeEventMultiplexer::NotifyContextChange(
+        &GetViewShellBase(),
+        eContext);
+}
+
+
+
+
+void SlideSorterViewShell::Deactivate (sal_Bool bIsMDIActivate)
+{
+    ContextChangeEventMultiplexer::NotifyContextChange(
+        &GetViewShellBase(),
+        EnumContext::Context_Default);
 }