summaryrefslogtreecommitdiff
path: root/sd/source/ui/inc
diff options
context:
space:
mode:
authorThomas Lange [tl] <tl@openoffice.org>2010-06-09 14:50:43 +0200
committerThomas Lange [tl] <tl@openoffice.org>2010-06-09 14:50:43 +0200
commit75c38455522cd88bbf660c4d30b937ba905d9a05 (patch)
tree0f7462fe1a276e787e2b82e090107b176035c9c9 /sd/source/ui/inc
parentab76732221aaf59cc9df43fa99b1883cb7888049 (diff)
parent47b5ec4b0b48b7108715cb1e780ad3dca284cfa9 (diff)
cws tl74: merge with DEV300_m81
Diffstat (limited to 'sd/source/ui/inc')
-rw-r--r--sd/source/ui/inc/AccessibleTaskPane.hxx70
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/DrawController.hxx3
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/DrawSubController.hxx25
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/DrawViewShell.hxx2
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/PaneChildWindows.hxx25
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/PaneDockingWindow.hrc6
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/PaneDockingWindow.hxx85
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/PaneShells.hxx9
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/SdUnoDrawView.hxx7
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/SdUnoOutlineView.hxx5
-rw-r--r--sd/source/ui/inc/SdUnoPresView.hxx54
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/SdUnoSlideView.hxx5
-rw-r--r--sd/source/ui/inc/ToolPanelChildWindow.hrc30
-rw-r--r--sd/source/ui/inc/ToolPanelChildWindow.hxx55
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/View.hxx1
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/ViewShell.hxx0
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/ViewShellBase.hxx2
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/ViewShellImplementation.hxx4
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/framework/FrameworkHelper.hxx0
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/framework/PresentationFactory.hxx2
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/framework/ViewShellWrapper.hxx36
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/res_bmp.hrc142
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/smarttag.hxx1
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/strings.hrc44
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/taskpane/ControlContainer.hxx1
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/taskpane/ILayoutableWindow.hxx2
-rw-r--r--sd/source/ui/inc/taskpane/PanelId.hxx62
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/taskpane/ScrollPanel.hxx8
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx3
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/taskpane/SubToolPanel.hxx3
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/taskpane/TaskPaneControlFactory.hxx25
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx16
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/taskpane/TitleBar.hxx40
-rwxr-xr-x[-rw-r--r--]sd/source/ui/inc/taskpane/TitledControl.hxx20
-rw-r--r--sd/source/ui/inc/taskpane/ToolPanel.hxx125
-rw-r--r--sd/source/ui/inc/taskpane/ToolPanelViewShell.hxx (renamed from sd/source/ui/inc/TaskPaneViewShell.hxx)139
-rwxr-xr-xsd/source/ui/inc/view/viewoverlaymanager.hxx76
37 files changed, 389 insertions, 744 deletions
diff --git a/sd/source/ui/inc/AccessibleTaskPane.hxx b/sd/source/ui/inc/AccessibleTaskPane.hxx
deleted file mode 100644
index 913609ecec87..000000000000
--- a/sd/source/ui/inc/AccessibleTaskPane.hxx
+++ /dev/null
@@ -1,70 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef SD_ACCESSIBILITY_ACCESSIBLE_TASK_PANE_HXX
-#define SD_ACCESSIBILITY_ACCESSIBLE_TASK_PANE_HXX
-
-#include "AccessibleTreeNode.hxx"
-
-namespace sd { namespace toolpanel {
-class ToolPanel;
-} }
-
-
-namespace accessibility {
-
-/** Make the task pane as implemented by sd::toolpanel::ToolPanel
- accessible.
- This derived class exists in order to disable the FOCUSED state.
-*/
-class AccessibleTaskPane
- : public AccessibleTreeNode
-{
-public:
- AccessibleTaskPane (
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::accessibility::XAccessible> & rxParent,
- const ::rtl::OUString& rsName,
- const ::rtl::OUString& rsDescription,
- ::sd::toolpanel::ToolPanel& rTaskPane);
- ~AccessibleTaskPane (void);
-
- //===== XServiceInfo ====================================================
-
- /** Returns an identifier for the implementation of this object.
- */
- virtual ::rtl::OUString SAL_CALL
- getImplementationName (void)
- throw (::com::sun::star::uno::RuntimeException);
-
-protected:
- virtual void UpdateStateSet (void);
-};
-
-} // end of namespace accessibility
-
-#endif
diff --git a/sd/source/ui/inc/DrawController.hxx b/sd/source/ui/inc/DrawController.hxx
index 5afda083abbc..d2f56501f492 100644..100755
--- a/sd/source/ui/inc/DrawController.hxx
+++ b/sd/source/ui/inc/DrawController.hxx
@@ -104,7 +104,8 @@ public:
PROPERTY_ACTIVE_LAYER = 5,
PROPERTY_ZOOMTYPE = 6,
PROPERTY_ZOOMVALUE = 7,
- PROPERTY_VIEWOFFSET = 8
+ PROPERTY_VIEWOFFSET = 8,
+ PROPERTY_DRAWVIEWMODE = 9
};
/** Create a new DrawController object for the given ViewShellBase.
diff --git a/sd/source/ui/inc/DrawSubController.hxx b/sd/source/ui/inc/DrawSubController.hxx
index 11816fa45902..22d3afb5dd4a 100644..100755
--- a/sd/source/ui/inc/DrawSubController.hxx
+++ b/sd/source/ui/inc/DrawSubController.hxx
@@ -29,12 +29,27 @@
#define SD_DRAW_SUB_CONTROLLER_HXX
#include <com/sun/star/drawing/XDrawSubController.hpp>
-#include <cppuhelper/compbase1.hxx>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <cppuhelper/compbase2.hxx>
+
+namespace sd {
+
+ class DrawSubControllerInterfaceBase : public ::cppu::WeakComponentImplHelper2<
+ ::com::sun::star::drawing::XDrawSubController,
+ ::com::sun::star::lang::XServiceInfo >
+ {
+ public:
+ DrawSubControllerInterfaceBase( ::osl::Mutex& aMutex )
+ : ::cppu::WeakComponentImplHelper2<
+ ::com::sun::star::drawing::XDrawSubController,
+ ::com::sun::star::lang::XServiceInfo >( aMutex ) {}
+
+ // XServiceInfo
+ virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException) = 0;
+ virtual ::sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException) = 0;
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException) = 0;
+ };
-namespace {
- typedef ::cppu::WeakComponentImplHelper1 <
- ::com::sun::star::drawing::XDrawSubController
- > DrawSubControllerInterfaceBase;
}
diff --git a/sd/source/ui/inc/DrawViewShell.hxx b/sd/source/ui/inc/DrawViewShell.hxx
index e48d3cef142b..51b8479dae1e 100644..100755
--- a/sd/source/ui/inc/DrawViewShell.hxx
+++ b/sd/source/ui/inc/DrawViewShell.hxx
@@ -57,6 +57,7 @@ class LayerTabBar;
class Ruler;
class SdUnoDrawView;
class AnnotationManager;
+class ViewOverlayManager;
#define CHECK_RANGE(nMin, nValue, nMax) ((nValue >= nMin) && (nValue <= nMax))
@@ -496,6 +497,7 @@ private:
using ViewShell::Notify;
::std::auto_ptr< AnnotationManager > mpAnnotationManager;
+ ::std::auto_ptr< ViewOverlayManager > mpViewOverlayManager;
};
diff --git a/sd/source/ui/inc/PaneChildWindows.hxx b/sd/source/ui/inc/PaneChildWindows.hxx
index 9995ed4b00c8..9ba0a1f03720 100644..100755
--- a/sd/source/ui/inc/PaneChildWindows.hxx
+++ b/sd/source/ui/inc/PaneChildWindows.hxx
@@ -29,6 +29,7 @@
#define SD_PANE_CHILD_WINDOWS_HXX
#include <sfx2/childwin.hxx>
+#include <sfx2/taskpane.hxx>
namespace sd {
@@ -41,8 +42,8 @@ public:
USHORT nId,
SfxBindings* pBindings,
SfxChildWinInfo* pInfo,
- const ResId& rResId,
- const ::rtl::OUString& rsTitle,
+ const USHORT nDockWinTitleResId,
+ const USHORT nTitleBarResId,
SfxChildAlignment eAlignment);
virtual ~PaneChildWindow (void);
};
@@ -74,16 +75,24 @@ public:
-class RightPaneChildWindow
- : public PaneChildWindow
+//======================================================================================================================
+//= ToolPanelChildWindow
+//======================================================================================================================
+class ToolPanelChildWindow :public PaneChildWindow
+ ,public ::sfx2::ITaskPaneToolPanelAccess
{
public:
- RightPaneChildWindow (::Window*, USHORT, SfxBindings*, SfxChildWinInfo*);
-
- SFX_DECL_CHILDWINDOW(RightPaneChildWindow);
-};
+ ToolPanelChildWindow(
+ ::Window* i_pParentWindow,
+ USHORT 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
diff --git a/sd/source/ui/inc/PaneDockingWindow.hrc b/sd/source/ui/inc/PaneDockingWindow.hrc
index e8e4a1fba597..eb7c23c075ec 100644..100755
--- a/sd/source/ui/inc/PaneDockingWindow.hrc
+++ b/sd/source/ui/inc/PaneDockingWindow.hrc
@@ -25,6 +25,6 @@
*
************************************************************************/
-#define FLT_LEFT_PANE_IMPRESS_DOCKING_WINDOW 792
-#define FLT_LEFT_PANE_DRAW_DOCKING_WINDOW 793
-#define FLT_RIGHT_PANE_DOCKING_WINDOW 794
+#define FLT_LEFT_PANE_IMPRESS_DOCKING_WINDOW 792
+#define FLT_LEFT_PANE_DRAW_DOCKING_WINDOW 793
+#define FLT_TOOL_PANEL_DOCKING_WINDOW 794
diff --git a/sd/source/ui/inc/PaneDockingWindow.hxx b/sd/source/ui/inc/PaneDockingWindow.hxx
index 03e6cf96c0f0..1874df10dd53 100644..100755
--- a/sd/source/ui/inc/PaneDockingWindow.hxx
+++ b/sd/source/ui/inc/PaneDockingWindow.hxx
@@ -28,7 +28,7 @@
#ifndef SD_PANE_DOCKING_WINDOW_HXX
#define SD_PANE_DOCKING_WINDOW_HXX
-#include <sfx2/dockwin.hxx>
+#include <sfx2/titledockwin.hxx>
#include <sfx2/viewfrm.hxx>
#include <boost/scoped_ptr.hpp>
@@ -38,15 +38,10 @@ class ToolBox;
namespace sd {
-class PaneDockingWindow
- : public SfxDockingWindow
+ class PaneDockingWindow : public ::sfx2::TitledDockingWindow
{
public:
- /** Create a new docking window that will be displayed in the specified
- pane.
- The constructor will determine the ViewShellBase via the given
- bindings and tell its PaneManager about the new window. It will ask
- the PaneManager for a window title.
+ /** Create a new docking window.
@param pBindings
Used, among others, to determine the ViewShellBase and
PaneManager that manage the new docking window.
@@ -57,89 +52,19 @@ public:
The parent window of the new docking window.
@param rResId
The resource is used to determine initial size and attributes.
- @param ePane
- The pane in which to show the docking window.
+ @param rsTitle
+ the initial title
*/
PaneDockingWindow (
SfxBindings *pBindings,
SfxChildWindow *pChildWindow,
::Window* pParent,
const ResId& rResId,
- const ::rtl::OUString& rsPaneURL,
const ::rtl::OUString& rsTitle);
virtual ~PaneDockingWindow (void);
- virtual void Paint (const Rectangle& rRectangle);
- virtual void Resize (void);
-
- virtual long Notify( NotifyEvent& rNEvt );
virtual void StateChanged( StateChangedType nType );
- virtual void DataChanged( const DataChangedEvent& rDCEvt );
-
- /** Initializing the title tool box either creates a new title tool box
- or clears all items from an existing one. A closer is added as only
- item.
- */
- void InitializeTitleToolBox (void);
-
- /** Add a top down menu to the title bar or rather the top-level menu
- entry. The given callback is called when the menu is clicked and it
- is the task of the callback to show the menu.
- @return
- The id of the new menu is returned. It can be compared by the
- callback to the value of GetCurItemId() when called at the given
- tool box.
- */
- USHORT AddMenu (const String& rsMenuName, ULONG nHelpId, const Link& rCallback);
-
- /** Set the title of the docking window to the given string. Use this
- method when the title is not yet known at the time of construction
- or can not be passed to the constructor.
- */
- void SetTitle (const String& rsTitle);
-
- ::Window* GetContentWindow (void);
-
- ::boost::shared_ptr<ToolBox> GetTitleToolBox (void) const;
-
-private:
- /** The pane which is represented by the docking window.
- */
- ::rtl::OUString msPaneURL;
-
- /** Title that is shown at the top of the docking window.
- */
- ::rtl::OUString msTitle;
-
- /** The tool box that is displayed in the window title area contains
- menus and the closer button.
- */
- ::boost::shared_ptr<ToolBox> mpTitleToolBox;
-
- /** The border that is painted arround the inner window. The bevel
- shadow lines are part of the border, so where the border is 0 no
- such line is painted.
- */
- SvBorder maBorder;
-
- sal_uInt16 mnChildWindowId;
-
- ::boost::scoped_ptr< ::Window> mpContentWindow;
-
- /** Remember that a layout is pending, i.e. Resize() has been called
- since the last Paint().
- */
- bool mbIsLayoutPending;
-
- DECL_LINK(ToolboxSelectHandler, ToolBox*);
-
- /** This does the actual placing and sizing of the title bar and the
- content window after the size of the docking window has changed.
- This method is called from withing the Paint() method when since its
- last invocation the size of the docking window has changed.
- */
- void Layout (void);
};
} // end of namespace ::sd
diff --git a/sd/source/ui/inc/PaneShells.hxx b/sd/source/ui/inc/PaneShells.hxx
index c34d2ba632d8..de410c2565bf 100644..100755
--- a/sd/source/ui/inc/PaneShells.hxx
+++ b/sd/source/ui/inc/PaneShells.hxx
@@ -75,15 +75,14 @@ public:
/** Shell that displays the right pane for both Impress and Draw. The shell
does not do anything else and has especially no slots.
*/
-class RightPaneShell
- : public SfxShell
+class ToolPanelPaneShell : public SfxShell
{
public:
TYPEINFO();
- SFX_DECL_INTERFACE(SD_IF_SDRIGHTPANESHELL)
+ SFX_DECL_INTERFACE( SD_IF_SDTOOLPANELPANESHELL )
- RightPaneShell (void);
- virtual ~RightPaneShell (void);
+ ToolPanelPaneShell();
+ virtual ~ToolPanelPaneShell();
};
} // end of namespace sd
diff --git a/sd/source/ui/inc/SdUnoDrawView.hxx b/sd/source/ui/inc/SdUnoDrawView.hxx
index afd03acd256f..d29ca3b09d32 100644..100755
--- a/sd/source/ui/inc/SdUnoDrawView.hxx
+++ b/sd/source/ui/inc/SdUnoDrawView.hxx
@@ -106,6 +106,11 @@ public:
css::lang::WrappedTargetException,
css::uno::RuntimeException);
+ // XServiceInfo
+ virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
+
protected:
sal_Bool getMasterPageMode(void) const throw();
void setMasterPageMode(sal_Bool MasterPageMode_) throw();
@@ -133,6 +138,8 @@ protected:
void SetZoomType( sal_Int16 nType );
+ ::com::sun::star::uno::Any getDrawViewMode() const;
+
private:
DrawController& mrController;
DrawViewShell& mrDrawViewShell;
diff --git a/sd/source/ui/inc/SdUnoOutlineView.hxx b/sd/source/ui/inc/SdUnoOutlineView.hxx
index a8c97b2e2610..d2a4d4bfd39d 100644..100755
--- a/sd/source/ui/inc/SdUnoOutlineView.hxx
+++ b/sd/source/ui/inc/SdUnoOutlineView.hxx
@@ -111,6 +111,11 @@ public:
disposing (const ::com::sun::star::lang::EventObject& rEventObject)
throw (::com::sun::star::uno::RuntimeException);
+ // XServiceInfo
+ virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
+
private:
DrawController& mrController;
OutlineViewShell& mrOutlineViewShell;
diff --git a/sd/source/ui/inc/SdUnoPresView.hxx b/sd/source/ui/inc/SdUnoPresView.hxx
deleted file mode 100644
index 8edf171f60cc..000000000000
--- a/sd/source/ui/inc/SdUnoPresView.hxx
+++ /dev/null
@@ -1,54 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef SD_UNO_PRES_VIEW_HXX
-#define SD_UNO_PRES_VIEW_HXX
-
-#include "SdUnoDrawView.hxx"
-
-namespace sd {
-
-/** The sub controller for the slide show (or preview?) It formerly reduced
- the property set inherited from SdUnoDrawView to just 'CurrentPage'.
- Now that we have to always support the whole set, we can as well try to
- do that as best as we can. Therefore the inherited functionality is
- provided as is.
-*/
-class SdUnoPresView
- : public SdUnoDrawView
-{
-public:
- SdUnoPresView (
- DrawController& rController,
- DrawViewShell& rViewShell,
- View& rView) throw();
- virtual ~SdUnoPresView (void) throw();
-};
-
-} // end of namespace sd
-
-#endif
diff --git a/sd/source/ui/inc/SdUnoSlideView.hxx b/sd/source/ui/inc/SdUnoSlideView.hxx
index e468d416bf56..6005704ec895 100644..100755
--- a/sd/source/ui/inc/SdUnoSlideView.hxx
+++ b/sd/source/ui/inc/SdUnoSlideView.hxx
@@ -109,6 +109,11 @@ public:
css::lang::WrappedTargetException,
css::uno::RuntimeException);
+ // XServiceInfo
+ virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
+
private:
DrawController& mrController;
slidesorter::SlideSorter& mrSlideSorter;
diff --git a/sd/source/ui/inc/ToolPanelChildWindow.hrc b/sd/source/ui/inc/ToolPanelChildWindow.hrc
deleted file mode 100644
index 61dca11d21cc..000000000000
--- a/sd/source/ui/inc/ToolPanelChildWindow.hrc
+++ /dev/null
@@ -1,30 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#define FLT_WIN_TOOLPANEL 788
-
-#define TOOLPANEL 1
diff --git a/sd/source/ui/inc/ToolPanelChildWindow.hxx b/sd/source/ui/inc/ToolPanelChildWindow.hxx
deleted file mode 100644
index 721c9baee3ac..000000000000
--- a/sd/source/ui/inc/ToolPanelChildWindow.hxx
+++ /dev/null
@@ -1,55 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef SD_TOOL_PANEL_CHILD_WINDOW_HXX
-#define SD_TOOL_PANEL_CHILD_WINDOW_HXX
-
-#include <sfx2/childwin.hxx>
-
-#define TOOLPANEL_CHILD_WINDOW() ( \
- static_cast< ::sd::toolpanel::ToolPanelChildWindow*>( \
- SfxViewFrame::Current()->GetChildWindow( \
- ::sd::toolpanel::ToolPanelChildWindow::GetChildWindowId() \
- )->GetWindow()))
-
-
-namespace sd { namespace toolpanel {
-
-class ToolPanelChildWindow
- : public SfxChildWindow
-{
-public:
- ToolPanelChildWindow (::Window*, USHORT, SfxBindings*, SfxChildWinInfo*);
- virtual ~ToolPanelChildWindow (void);
-
- SFX_DECL_CHILDWINDOW (ToolPanelChildWindow);
-};
-
-
-} } // end of namespaces ::sd::toolpanel
-
-#endif
diff --git a/sd/source/ui/inc/View.hxx b/sd/source/ui/inc/View.hxx
index a0d7bf179886..2b6c1a8abb77 100644..100755
--- a/sd/source/ui/inc/View.hxx
+++ b/sd/source/ui/inc/View.hxx
@@ -208,6 +208,7 @@ public:
void SetMarkedPointsSmoothPossible( bool bSet ) { bSetMarkedPointsSmoothPossible = bSet; }
void SetMarkedSegmentsKindPossible( bool bSet ) { bSetMarkedSegmentsKindPossible = bSet; }
+ SdrObject* GetEmptyPresentationObject( PresObjKind eKind );
protected:
DECL_LINK( OnParagraphInsertedHdl, ::Outliner * );
DECL_LINK( OnParagraphRemovingHdl, ::Outliner * );
diff --git a/sd/source/ui/inc/ViewShell.hxx b/sd/source/ui/inc/ViewShell.hxx
index 64bc5cbc02b7..64bc5cbc02b7 100644..100755
--- a/sd/source/ui/inc/ViewShell.hxx
+++ b/sd/source/ui/inc/ViewShell.hxx
diff --git a/sd/source/ui/inc/ViewShellBase.hxx b/sd/source/ui/inc/ViewShellBase.hxx
index 5e1acbe2a6ac..bda748559399 100644..100755
--- a/sd/source/ui/inc/ViewShellBase.hxx
+++ b/sd/source/ui/inc/ViewShellBase.hxx
@@ -28,6 +28,8 @@
#ifndef SD_VIEW_SHELL_BASE_HXX
#define SD_VIEW_SHELL_BASE_HXX
+#include <com/sun/star/frame/XFrame.hpp>
+
#include "ViewShell.hxx"
#include "glob.hxx"
diff --git a/sd/source/ui/inc/ViewShellImplementation.hxx b/sd/source/ui/inc/ViewShellImplementation.hxx
index 466e4e578cc2..f4f07b5549dd 100644..100755
--- a/sd/source/ui/inc/ViewShellImplementation.hxx
+++ b/sd/source/ui/inc/ViewShellImplementation.hxx
@@ -124,9 +124,7 @@ public:
@param pPage
If a NULL pointer is given then this call is ignored.
*/
- void AssignLayout (
- SdPage* pPage,
- AutoLayout aLayout);
+ void AssignLayout ( SfxRequest& rRequest, PageKind ePageKind );
/** Determine the view id of the view shell. This corresponds to the
view id stored in the SfxViewFrame class.
diff --git a/sd/source/ui/inc/framework/FrameworkHelper.hxx b/sd/source/ui/inc/framework/FrameworkHelper.hxx
index a25839b3e637..a25839b3e637 100644..100755
--- a/sd/source/ui/inc/framework/FrameworkHelper.hxx
+++ b/sd/source/ui/inc/framework/FrameworkHelper.hxx
diff --git a/sd/source/ui/inc/framework/PresentationFactory.hxx b/sd/source/ui/inc/framework/PresentationFactory.hxx
index 4f35813a7205..a607542f2df0 100644..100755
--- a/sd/source/ui/inc/framework/PresentationFactory.hxx
+++ b/sd/source/ui/inc/framework/PresentationFactory.hxx
@@ -82,7 +82,7 @@ public:
SAL_CALL createResource (
const css::uno::Reference<
css::drawing::framework::XResourceId>& rxViewId)
- throw(css::uno::RuntimeException);
+ throw (css::uno::RuntimeException, css::lang::IllegalArgumentException, css::lang::WrappedTargetException);
virtual void SAL_CALL releaseResource (
const css::uno::Reference<css::drawing::framework::XResource>& xView)
diff --git a/sd/source/ui/inc/framework/ViewShellWrapper.hxx b/sd/source/ui/inc/framework/ViewShellWrapper.hxx
index 96846e5c08d7..12483f462d5e 100644..100755
--- a/sd/source/ui/inc/framework/ViewShellWrapper.hxx
+++ b/sd/source/ui/inc/framework/ViewShellWrapper.hxx
@@ -35,17 +35,17 @@
#include <com/sun/star/lang/XUnoTunnel.hpp>
#include <osl/mutex.hxx>
#include <cppuhelper/compbase4.hxx>
+#include <cppuhelper/implbase1.hxx>
#include <boost/shared_ptr.hpp>
namespace {
-typedef ::cppu::WeakComponentImplHelper4 <
- ::com::sun::star::drawing::framework::XView,
- ::com::sun::star::lang::XUnoTunnel,
- ::com::sun::star::awt::XWindowListener,
- ::com::sun::star::drawing::framework::XRelocatableResource
- > ViewShellWrapperInterfaceBase;
+typedef ::cppu::WeakComponentImplHelper4 < ::com::sun::star::lang::XUnoTunnel
+ , ::com::sun::star::awt::XWindowListener
+ , ::com::sun::star::drawing::framework::XRelocatableResource
+ , ::com::sun::star::drawing::framework::XView
+ > ViewShellWrapperInterfaceBase;
} // end of anonymous namespace.
@@ -57,9 +57,8 @@ namespace sd { namespace framework {
Most importantly it provides a tunnel to the ViewShell implementation.
Then it forwards size changes of the pane window to the view shell.
*/
-class ViewShellWrapper
- : private sd::MutexOwner,
- public ViewShellWrapperInterfaceBase
+class ViewShellWrapper :private sd::MutexOwner
+ ,public ViewShellWrapperInterfaceBase
{
public:
/** Create a new ViewShellWrapper object that wraps the given ViewShell
@@ -90,23 +89,11 @@ public:
*/
::boost::shared_ptr<ViewShell> GetViewShell (void);
- /** Returns whether there is exactly one reference to the called
- ViewShellWrapper object (the number of references to the wrapped
- ViewShell object is not taken into account). This method is
- typically used by the owner of a ViewShellWrapper object to verify
- that, at the end of the ViewShellWrapper object's lifetime, the
- owner holds the last reference and by releasing it will destroy the
- object.
- */
- bool IsUnique (void);
-
-
// XUnoTunnel
virtual sal_Int64 SAL_CALL getSomething (const com::sun::star::uno::Sequence<sal_Int8>& rId)
throw (com::sun::star::uno::RuntimeException);
-
// XResource
virtual ::com::sun::star::uno::Reference<com::sun::star::drawing::framework::XResourceId>
@@ -151,10 +138,9 @@ public:
throw (com::sun::star::uno::RuntimeException);
private:
- ::boost::shared_ptr<ViewShell> mpViewShell;
- const ::com::sun::star::uno::Reference<
- com::sun::star::drawing::framework::XResourceId> mxViewId;
- ::com::sun::star::uno::Reference<com::sun::star::awt::XWindow> mxWindow;
+ ::boost::shared_ptr< ViewShell > mpViewShell;
+ const ::com::sun::star::uno::Reference< com::sun::star::drawing::framework::XResourceId > mxViewId;
+ ::com::sun::star::uno::Reference<com::sun::star::awt::XWindow > mxWindow;
};
} } // end of namespace sd::framework
diff --git a/sd/source/ui/inc/res_bmp.hrc b/sd/source/ui/inc/res_bmp.hrc
index 9572d9da6960..1602dc698f3f 100644..100755
--- a/sd/source/ui/inc/res_bmp.hrc
+++ b/sd/source/ui/inc/res_bmp.hrc
@@ -67,36 +67,6 @@
#define RID_GRAFFILTERS RID_APP_START+29
#define RID_GRAFFILTERS_TBX RID_APP_START+30
-#define BMP_FOIL_00 RID_APP_START+10
-#define BMP_FOIL_01 RID_APP_START+11
-#define BMP_FOIL_02 RID_APP_START+12
-#define BMP_FOIL_03 RID_APP_START+13
-#define BMP_FOIL_04 RID_APP_START+14
-#define BMP_FOIL_05 RID_APP_START+15
-#define BMP_FOIL_06 RID_APP_START+16
-#define BMP_FOIL_07 RID_APP_START+17
-#define BMP_FOIL_08 RID_APP_START+18
-#define BMP_FOIL_09 RID_APP_START+19
-#define BMP_FOIL_10 RID_APP_START+20
-#define BMP_FOIL_11 RID_APP_START+21
-#define BMP_FOIL_12 RID_APP_START+22
-#define BMP_FOIL_13 RID_APP_START+23
-#define BMP_FOIL_14 RID_APP_START+24
-#define BMP_FOIL_15 RID_APP_START+25
-#define BMP_FOIL_16 RID_APP_START+26
-#define BMP_FOIL_17 RID_APP_START+27
-#define BMP_FOIL_18 RID_APP_START+28
-#define BMP_FOIL_19 RID_APP_START+29
-#define BMP_FOIL_20 RID_APP_START+30
-#define BMP_FOILH_01 RID_APP_START+31
-#define BMP_FOILH_02 RID_APP_START+32
-#define BMP_FOILH_03 RID_APP_START+33
-#define BMP_FOILH_04 RID_APP_START+34
-#define BMP_FOILH_06 RID_APP_START+35
-#define BMP_FOILH_09 RID_APP_START+36
-#define BMP_FOILN_01 RID_APP_START+40
-#define BMP_FOIL_25 RID_APP_START+41
-
// Bitmaps fuer Tree-ListBox im Effekte-TabDialog
#define BMP_PAGE RID_APP_START+42
#define BMP_PAGEOBJS RID_APP_START+43
@@ -111,8 +81,6 @@
#define BMP_COLLAPSE RID_APP_START+52
#define BMP_GRAPHIC RID_APP_START+53
-#define BMP_FOIL_26 RID_APP_START+54
-
// Bimaps fuer ValueSet im EffekteWindow
#define BMP_EFFECT_NONE RID_APP_START+105
#define BMP_TEXTEFFECT_DISCARD_FROM_T RID_APP_START+106
@@ -170,38 +138,6 @@
#define BMP_EFFECT_UNCOVER_TO_B RID_APP_START+171
#define BMP_EFFECT_UNCOVER_TO_LL RID_APP_START+172
-#define BMP_FOIL_00_H RID_SD_START+182
-#define BMP_FOIL_01_H RID_SD_START+183
-#define BMP_FOIL_02_H RID_SD_START+184
-#define BMP_FOIL_03_H RID_SD_START+185
-#define BMP_FOIL_04_H RID_SD_START+186
-#define BMP_FOIL_05_H RID_SD_START+187
-#define BMP_FOIL_06_H RID_SD_START+188
-#define BMP_FOIL_07_H RID_SD_START+189
-#define BMP_FOIL_08_H RID_SD_START+190
-#define BMP_FOIL_09_H RID_SD_START+191
-#define BMP_FOIL_10_H RID_SD_START+192
-#define BMP_FOIL_11_H RID_SD_START+193
-#define BMP_FOIL_12_H RID_SD_START+194
-#define BMP_FOIL_13_H RID_SD_START+195
-#define BMP_FOIL_14_H RID_SD_START+196
-#define BMP_FOIL_15_H RID_SD_START+197
-#define BMP_FOIL_16_H RID_SD_START+198
-#define BMP_FOIL_17_H RID_SD_START+199
-#define BMP_FOIL_18_H RID_SD_START+200
-#define BMP_FOIL_19_H RID_SD_START+201
-#define BMP_FOIL_20_H RID_SD_START+202
-#define BMP_FOIL_21_H RID_SD_START+203
-#define BMP_FOIL_22_H RID_SD_START+204
-#define BMP_FOIL_23_H RID_SD_START+205
-#define BMP_FOIL_24_H RID_SD_START+206
-#define BMP_FOILH_01_H RID_SD_START+207
-#define BMP_FOILH_02_H RID_SD_START+208
-#define BMP_FOILH_03_H RID_SD_START+209
-#define BMP_FOILH_04_H RID_SD_START+210
-#define BMP_FOILH_06_H RID_SD_START+211
-#define BMP_FOILN_01_H RID_SD_START+212
-
#define BMP_PAGE_H RID_SD_START+213
#define BMP_PAGEOBJS_H RID_SD_START+214
#define BMP_OBJECTS_H RID_SD_START+215
@@ -219,24 +155,78 @@
#define BMP_GROUP_H RID_SD_START+226
#define BMP_WAIT_ICON_H RID_SD_START+229
-#define BMP_CLOSE_DOC RID_SD_START+325
-#define BMP_CLOSE_DOC_H RID_SD_START+326
-#define BMP_TRIANGLE_RIGHT RID_SD_START+327
-#define BMP_TRIANGLE_RIGHT_H RID_SD_START+328
-#define BMP_TRIANGLE_DOWN RID_SD_START+329
-#define BMP_TRIANGLE_DOWN_H RID_SD_START+330
#define BMP_FADE_EFFECT_INDICATOR RID_SD_START+331
#define BMP_FADE_EFFECT_INDICATOR_H RID_SD_START+332
-#define BMP_FOILH_09_H RID_SD_START+333
-#define BMP_FOIL_25_H RID_SD_START+334
-#define BMP_FOIL_26_H RID_SD_START+335
-#define BMP_FOIL_27 RID_SD_START+336
-#define BMP_FOIL_27_H RID_SD_START+337
-
#define BMP_COMMENTS_INDICATOR RID_SD_START+338
#define BMP_COMMENTS_INDICATOR_H RID_SD_START+339
+#define BMP_LAYOUT_EMPTY RID_SD_START+340
+#define BMP_LAYOUT_EMPTY_H RID_SD_START+341
+#define BMP_LAYOUT_HEAD01 RID_SD_START+342
+#define BMP_LAYOUT_HEAD01_H RID_SD_START+343
+#define BMP_LAYOUT_HEAD02 RID_SD_START+344
+#define BMP_LAYOUT_HEAD02_H RID_SD_START+345
+#define BMP_LAYOUT_HEAD02A RID_SD_START+346
+#define BMP_LAYOUT_HEAD02A_H RID_SD_START+347
+#define BMP_LAYOUT_HEAD02B RID_SD_START+348
+#define BMP_LAYOUT_HEAD02B_H RID_SD_START+349
+#define BMP_LAYOUT_HEAD03 RID_SD_START+350
+#define BMP_LAYOUT_HEAD03_H RID_SD_START+351
+#define BMP_LAYOUT_HEAD03A RID_SD_START+352
+#define BMP_LAYOUT_HEAD03A_H RID_SD_START+353
+#define BMP_LAYOUT_HEAD03B RID_SD_START+354
+#define BMP_LAYOUT_HEAD03B_H RID_SD_START+355
+#define BMP_LAYOUT_HEAD03C RID_SD_START+356
+#define BMP_LAYOUT_HEAD03C_H RID_SD_START+357
+#define BMP_LAYOUT_HEAD04 RID_SD_START+358
+#define BMP_LAYOUT_HEAD04_H RID_SD_START+359
+#define BMP_LAYOUT_HEAD06 RID_SD_START+360
+#define BMP_LAYOUT_HEAD06_H RID_SD_START+361
+#define BMP_LAYOUT_TEXTONLY RID_SD_START+362
+#define BMP_LAYOUT_TEXTONLY_H RID_SD_START+363
+#define BMP_LAYOUT_VERTICAL01 RID_SD_START+364
+#define BMP_LAYOUT_VERTICAL01_H RID_SD_START+365
+#define BMP_LAYOUT_VERTICAL02 RID_SD_START+366
+#define BMP_LAYOUT_VERTICAL02_H RID_SD_START+367
+
+#define BMP_FOILH_01 RID_SD_START+388
+#define BMP_FOILH_01_H RID_SD_START+389
+#define BMP_FOILH_02 RID_SD_START+390
+#define BMP_FOILH_02_H RID_SD_START+391
+#define BMP_FOILH_03 RID_SD_START+392
+#define BMP_FOILH_03_H RID_SD_START+393
+#define BMP_FOILH_04 RID_SD_START+394
+#define BMP_FOILH_04_H RID_SD_START+395
+#define BMP_FOILH_06 RID_SD_START+396
+#define BMP_FOILH_06_H RID_SD_START+397
+#define BMP_FOILH_09 RID_SD_START+398
+#define BMP_FOILH_09_H RID_SD_START+399
+
+#define BMP_FOILN_01 RID_SD_START+400
+#define BMP_FOILN_01_H RID_SD_START+401
+
+#define BMP_PLACEHOLDER_SMALL_START (RID_SD_START+402) // these ids must stay in order!
+#define BMP_PLACEHOLDER_TABLE_SMALL (RID_SD_START+402)
+#define BMP_PLACEHOLDER_CHART_SMALL (RID_SD_START+403)
+#define BMP_PLACEHOLDER_IMAGE_SMALL (RID_SD_START+404)
+#define BMP_PLACEHOLDER_MOVIE_SMALL (RID_SD_START+405)
+#define BMP_PLACEHOLDER_TABLE_SMALL_HOVER (RID_SD_START+406)
+#define BMP_PLACEHOLDER_CHART_SMALL_HOVER (RID_SD_START+407)
+#define BMP_PLACEHOLDER_IMAGE_SMALL_HOVER (RID_SD_START+408)
+#define BMP_PLACEHOLDER_MOVIE_SMALL_HOVER (RID_SD_START+409)
+#define BMP_PLACEHOLDER_SMALL_END (RID_SD_START+410)
+#define BMP_PLACEHOLDER_LARGE_START (RID_SD_START+410)
+#define BMP_PLACEHOLDER_TABLE_LARGE (RID_SD_START+410)
+#define BMP_PLACEHOLDER_CHART_LARGE (RID_SD_START+411)
+#define BMP_PLACEHOLDER_IMAGE_LARGE (RID_SD_START+412)
+#define BMP_PLACEHOLDER_MOVIE_LARGE (RID_SD_START+413)
+#define BMP_PLACEHOLDER_TABLE_LARGE_HOVER (RID_SD_START+414)
+#define BMP_PLACEHOLDER_CHART_LARGE_HOVER (RID_SD_START+415)
+#define BMP_PLACEHOLDER_IMAGE_LARGE_HOVER (RID_SD_START+416)
+#define BMP_PLACEHOLDER_MOVIE_LARGE_HOVER (RID_SD_START+417)
+#define BMP_PLACEHOLDER_LARGE_END (RID_SD_START+418) // until here!
+
// -----------------------------------------------------------------------------
#define IMG_PIPETTE_H RID_APP_START+21
diff --git a/sd/source/ui/inc/smarttag.hxx b/sd/source/ui/inc/smarttag.hxx
index 88faf5db8db8..15544c2b5221 100644..100755
--- a/sd/source/ui/inc/smarttag.hxx
+++ b/sd/source/ui/inc/smarttag.hxx
@@ -163,6 +163,7 @@ private:
::sd::View& mrView;
SmartTagReference mxSelectedTag;
+ SmartTagReference mxMouseOverTag;
};
/** a derivation from this handle is the visual representation for a smart tag.
diff --git a/sd/source/ui/inc/strings.hrc b/sd/source/ui/inc/strings.hrc
index ea7a06969d84..d9dc93a1ef20 100644..100755
--- a/sd/source/ui/inc/strings.hrc
+++ b/sd/source/ui/inc/strings.hrc
@@ -168,26 +168,20 @@
#define STR_DRAW_MEDIA_TOOLBOX RID_DRAW_MEDIA_TOOLBOX
// IDs fuer Praesentationsfolien
-#define STR_AUTOLAYOUT_NONE (RID_APP_START+210)
-#define STR_AUTOLAYOUT_ONLY_TITLE (RID_APP_START+211)
-#define STR_AUTOLAYOUT_TITLE (RID_APP_START+212)
-#define STR_AUTOLAYOUT_OBJ (RID_APP_START+213)
-#define STR_AUTOLAYOUT_ENUM (RID_APP_START+214)
-#define STR_AUTOLAYOUT_CHART (RID_APP_START+215)
-#define STR_AUTOLAYOUT_TAB (RID_APP_START+217)
-#define STR_AUTOLAYOUT_CLIPTEXT (RID_APP_START+218)
-#define STR_AUTOLAYOUT_2TEXT (RID_APP_START+219)
-#define STR_AUTOLAYOUT_TEXTCHART (RID_APP_START+220)
-#define STR_AUTOLAYOUT_TEXTCLIP (RID_APP_START+221)
-#define STR_AUTOLAYOUT_CHARTTEXT (RID_APP_START+222)
-#define STR_AUTOLAYOUT_TEXTOBJ (RID_APP_START+223)
-#define STR_AUTOLAYOUT_TEXT2OBJ (RID_APP_START+224)
-#define STR_AUTOLAYOUT_OBJTEXT (RID_APP_START+225)
-#define STR_AUTOLAYOUT_OBJOVERTEXT (RID_APP_START+226)
-#define STR_AUTOLAYOUT_2OBJTEXT (RID_APP_START+227)
-#define STR_AUTOLAYOUT_2OBJOVERTEXT (RID_APP_START+228)
-#define STR_AUTOLAYOUT_TEXTOVEROBJ (RID_APP_START+229)
-#define STR_AUTOLAYOUT_4OBJ (RID_APP_START+230)
+#define STR_AUTOLAYOUT_NONE (RID_APP_START+210)
+#define STR_AUTOLAYOUT_ONLY_TITLE (RID_APP_START+211)
+#define STR_AUTOLAYOUT_ONLY_TEXT (RID_APP_START+212)
+#define STR_AUTOLAYOUT_TITLE (RID_APP_START+213)
+#define STR_AUTOLAYOUT_CONTENT (RID_APP_START+214)
+#define STR_AUTOLAYOUT_2CONTENT (RID_APP_START+215)
+#define STR_AUTOLAYOUT_CONTENT_2CONTENT (RID_APP_START+217)
+#define STR_AUTOLAYOUT_2CONTENT_CONTENT (RID_APP_START+218)
+#define STR_AUTOLAYOUT_CONTENT_OVER_2CONTENT (RID_APP_START+219)
+#define STR_AUTOLAYOUT_2CONTENT_OVER_CONTENT (RID_APP_START+220)
+#define STR_AUTOLAYOUT_CONTENT_OVER_CONTENT (RID_APP_START+221)
+#define STR_AUTOLAYOUT_4CONTENT (RID_APP_START+222)
+#define STR_AUTOLAYOUT_6CONTENT (RID_APP_START+223)
+
#define STR_AUTOLAYOUT_HANDOUT1 (RID_APP_START+231)
#define STR_AUTOLAYOUT_HANDOUT2 (RID_APP_START+232)
#define STR_AUTOLAYOUT_HANDOUT3 (RID_APP_START+233)
@@ -195,13 +189,9 @@
#define STR_AUTOLAYOUT_HANDOUT6 (RID_APP_START+235)
#define STR_AUTOLAYOUT_NOTES (RID_APP_START+236)
#define STR_AUTOLAYOUT_HANDOUT9 (RID_APP_START+237)
-#define STR_AUTOLAYOUT_ONLY_TEXT (RID_APP_START+238)
-#define STR_AUTOLAYOUT_4CLIPART (RID_APP_START+239)
#define STR_TRANSFORM (RID_APP_START+240)
-#define STR_AUTOLAYOUT_6CLIPART (RID_APP_START+241)
-
#define STR_EXPORT_HTML_NAME (RID_APP_START+244)
#define STR_EXPORT_HTML_FILTER (RID_APP_START+245)
#define STR_EXPORT_DIALOG_TITLE (RID_APP_START+261)
@@ -512,6 +502,12 @@
#define STR_NAVIGATOR_SHOW_ALL_SHAPES (RID_APP_START+719)
#define STR_NAVIGATOR_SHAPE_BASE_NAME (RID_APP_START+720)
+#define STR_RESET_LAYOUT (RID_APP_START+721)
+#define STR_INSERT_TABLE (RID_APP_START+722)
+#define STR_INSERT_CHART (RID_APP_START+723)
+#define STR_INSERT_PICTURE (RID_APP_START+724)
+#define STR_INSERT_MOVIE (RID_APP_START+725)
+
/******************************************************************************
* The ids in glob.hrc start at RID_APP_START+750!
******************************************************************************/
diff --git a/sd/source/ui/inc/taskpane/ControlContainer.hxx b/sd/source/ui/inc/taskpane/ControlContainer.hxx
index b4087da5b51b..9c1652f05887 100644..100755
--- a/sd/source/ui/inc/taskpane/ControlContainer.hxx
+++ b/sd/source/ui/inc/taskpane/ControlContainer.hxx
@@ -28,7 +28,6 @@
#ifndef SD_TOOLPANEL_CONTROL_CONTAINER_HXX
#define SD_TOOLPANEL_CONTROL_CONTAINER_HXX
-#include "TitleBar.hxx"
#include <osl/mutex.hxx>
#include <vector>
diff --git a/sd/source/ui/inc/taskpane/ILayoutableWindow.hxx b/sd/source/ui/inc/taskpane/ILayoutableWindow.hxx
index 7a85120e1ad6..5aad9fa29f78 100644..100755
--- a/sd/source/ui/inc/taskpane/ILayoutableWindow.hxx
+++ b/sd/source/ui/inc/taskpane/ILayoutableWindow.hxx
@@ -48,7 +48,7 @@ public:
/** This interface has to be implemented by windows that want to be
- layouted by a ToolPanel, SubToolPanel, or ScrollablePanel object.
+ layouted by a SubToolPanel or ScrollablePanel object.
*/
class ILayoutableWindow
{
diff --git a/sd/source/ui/inc/taskpane/PanelId.hxx b/sd/source/ui/inc/taskpane/PanelId.hxx
new file mode 100644
index 000000000000..565745f97140
--- /dev/null
+++ b/sd/source/ui/inc/taskpane/PanelId.hxx
@@ -0,0 +1,62 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#ifndef SD_UI_TASKPANE_PANELID_HXX
+#define SD_UI_TASKPANE_PANELID_HXX
+
+namespace rtl
+{
+ class OUString;
+}
+
+//......................................................................................................................
+namespace sd { namespace toolpanel
+{
+//......................................................................................................................
+
+ //==================================================================================================================
+ //= PanelId
+ //==================================================================================================================
+ /** List of top level panels that can be shown in the task pane.
+ */
+ enum PanelId
+ {
+ PID_MASTER_PAGES = 0,
+ PID_LAYOUT = 1,
+ PID_TABLE_DESIGN = 2,
+ PID_CUSTOM_ANIMATION = 3,
+ PID_SLIDE_TRANSITION = 4,
+
+ PID_UNKNOWN = 5
+ };
+
+ PanelId GetStandardPanelId( const ::rtl::OUString& i_rTaskPanelResourceURL );
+
+//......................................................................................................................
+} } // namespace sd::toolpanel
+//......................................................................................................................
+
+#endif // SD_UI_TASKPANE_PANELID_HXX
diff --git a/sd/source/ui/inc/taskpane/ScrollPanel.hxx b/sd/source/ui/inc/taskpane/ScrollPanel.hxx
index 019e06d9dd44..b3620255f913 100644..100755
--- a/sd/source/ui/inc/taskpane/ScrollPanel.hxx
+++ b/sd/source/ui/inc/taskpane/ScrollPanel.hxx
@@ -60,6 +60,10 @@ public:
parent. This will usually be a child window.
*/
ScrollPanel (TreeNode* pParent);
+ /** Create a new scroll panel which itself is the root of a TreeNode hierarchy
+ parent. This will usually be a child window.
+ */
+ ScrollPanel (::Window& i_rParentWindow);
virtual ~ScrollPanel (void);
/** Add a control to the sub panel. An title bar is added above the
@@ -171,6 +175,10 @@ private:
*/
sal_Int32 LayoutChildren (void);
+ /** ctor-impl
+ */
+ void Construct();
+
Size SetupScrollBars (const Size& rRequiresSize);
sal_Int32 SetupVerticalScrollBar (bool bShow, sal_Int32 nRange);
sal_Int32 SetupHorizontalScrollBar (bool bShow, sal_Int32 nRange);
diff --git a/sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx b/sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx
index 7d5c4c996bc1..933a25f4067d 100644..100755
--- a/sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx
+++ b/sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx
@@ -54,7 +54,6 @@ class Window;
namespace sd { namespace toolpanel {
-class ControlFactory;
class TreeNode;
/** This panel demonstrates how to create a panel for the task pane.
@@ -71,8 +70,6 @@ public:
virtual void Paint (const Rectangle& rBoundingBox);
virtual void Resize (void);
- static std::auto_ptr<ControlFactory> CreateControlFactory (const SdDrawDocument* pDocument);
-
static SlideSorterCacheDisplay* Instance (const SdDrawDocument* pDocument);
void SetPageCount (sal_Int32 nPageCount);
diff --git a/sd/source/ui/inc/taskpane/SubToolPanel.hxx b/sd/source/ui/inc/taskpane/SubToolPanel.hxx
index 9524cdddf748..94a73bc70996 100644..100755
--- a/sd/source/ui/inc/taskpane/SubToolPanel.hxx
+++ b/sd/source/ui/inc/taskpane/SubToolPanel.hxx
@@ -40,8 +40,6 @@ class Window;
namespace sd { namespace toolpanel {
-class ToolPanel;
-
/** The sub tool panel is in function similar to the tool panel. It
differes in two points. First, it is a control that can be used
as element in a tool panel and thus is actually a nested tool
@@ -67,6 +65,7 @@ public:
parent. This will usually be a child window.
*/
SubToolPanel (TreeNode* pParent);
+ SubToolPanel (Window& i_rParentWindow);
virtual ~SubToolPanel (void);
/** Add a control to the sub panel.
diff --git a/sd/source/ui/inc/taskpane/TaskPaneControlFactory.hxx b/sd/source/ui/inc/taskpane/TaskPaneControlFactory.hxx
index 483488b665ac..c86c496a770d 100644..100755
--- a/sd/source/ui/inc/taskpane/TaskPaneControlFactory.hxx
+++ b/sd/source/ui/inc/taskpane/TaskPaneControlFactory.hxx
@@ -58,37 +58,34 @@ public:
ControlFactory (void);
virtual ~ControlFactory (void);
- /** Derived classes should overload InternalCreateControl(), not this
- method.
+ /** creates a tree node which acts as root of an own tree
+
+ Derived classes should overload InternalCreateControl.
*/
- ::std::auto_ptr<TreeNode> CreateControl (TreeNode* pTreeNode);
+ ::std::auto_ptr<TreeNode> CreateControl( ::Window& i_rParent );
protected:
- /** This is the internal hook for derived classes to overload in order
- to provide a new control instance.
- */
- virtual TreeNode* InternalCreateControl (TreeNode* pTreeNode) = 0;
+ virtual TreeNode* InternalCreateControl( ::Window& i_rParent ) = 0;
};
-/** A simple helper class that realizes a ControlFactory that provides its
- newly created controls with one additional argument (additional to the
- parent TreeNode).
+/** A simple helper class that realizes a ControlFactory that is able to create root controls, providing
+ the to-be-created control with an additional parameter.
*/
template<class ControlType, class ArgumentType>
-class ControlFactoryWithArgs1
+class RootControlFactoryWithArg
: public ControlFactory
{
public:
- ControlFactoryWithArgs1 (ArgumentType& rArgument)
+ RootControlFactoryWithArg (ArgumentType& rArgument)
: mrArgument(rArgument)
{}
protected:
- virtual TreeNode* InternalCreateControl (TreeNode* pTreeNode)
+ virtual TreeNode* InternalCreateControl( ::Window& i_rParent )
{
- return new ControlType(pTreeNode, mrArgument);
+ return new ControlType( i_rParent, mrArgument );
}
private:
diff --git a/sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx b/sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx
index 250e73124854..0dbec3b292c3 100644..100755
--- a/sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx
+++ b/sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx
@@ -53,9 +53,9 @@ enum TreeNodeStateChangeEventId {
/** Base class for all members of the object hierarchy that makes up the
- tool panel. There are usually at least three levels. At the top level
- is the ToolPanel with one instance: the root of the tree. At the
- middle level there are SubToolPanels and Window/Control objects. At the
+ tool panel. In the task pane, there are multiple hierarchies of such nodes,
+ with every panel having an own tree. The pane node is the root of the tree, below
+ that there are SubToolPanels and Window/Control objects. At the
lowest level there are only Window or Control objects.
This class provides the means of communication between objects on
@@ -94,14 +94,6 @@ public:
*/
virtual sal_Int32 GetMinimumWidth (void);
- /** Give each node access to the object bar manager of the tool panel.
-
- At least the root node has to overwrite this method since the
- default implementation simply returns the object bar manager of the
- parent.
- */
- virtual ObjectBarManager* GetObjectBarManager (void);
-
/** The default implementaion always returns <FALSE/>
*/
virtual bool IsResizable (void);
@@ -151,7 +143,7 @@ public:
ControlContainer& GetControlContainer (void);
/** Give each node access to a shell manage. This usually is the shell
- manager of the TaskPaneViewShell.
+ manager of the ToolPanelViewShell.
At least the root node has to overwrite this method since the
default implementation simply returns the shell manager of its
diff --git a/sd/source/ui/inc/taskpane/TitleBar.hxx b/sd/source/ui/inc/taskpane/TitleBar.hxx
index b10adcef07e0..995117516529 100644..100755
--- a/sd/source/ui/inc/taskpane/TitleBar.hxx
+++ b/sd/source/ui/inc/taskpane/TitleBar.hxx
@@ -41,22 +41,13 @@ class VirtualDevice;
namespace sd { namespace toolpanel {
-/** The title bar above a control in a tool panel or sub tool panel.
- The way the title bar is displayed depends on the TitleBarType
- given to the constructor. TBT_CONTROL_TITLE and
- TBT_SUB_CONTROL_HEADLINE both show a expansion indicator in front of
- the title string that shows whether the associated control is
- visible (expanded) or not.
- A title bar with TBT_WINDOW_TITLE is typically used only once as the
- title bar of the whole task pane.
-
- <p>The title bar shows three kinds of indicators: 1) Expansion is
+/** The title bar above a control in a sub tool panel.
+
+ <p>The title bar shows two kinds of indicators: 1) Expansion is
displayed by two sets of two bitmaps, a triangle pointing to the right
resp. a minus in a square indicates that the control is collapsed, a
triangle pointing down resp. a plus in a square stands for an expanded
- control. 2) Keyboard focus is indicated by a dotted rectangle. 3) An
- underlined title string is a mouse over indicator for a
- selectable/expandable control.</p>
+ control. 2) Keyboard focus is indicated by a dotted rectangle.
*/
class TitleBar
: public ::Window,
@@ -64,10 +55,8 @@ class TitleBar
{
public:
enum TitleBarType {
- TBT_WINDOW_TITLE,
- TBT_CONTROL_TITLE,
TBT_SUB_CONTROL_HEADLINE
- };
+ };
/** Create a new title bar whose content, the given title string,
will be formatted according to the given type.
@@ -90,8 +79,8 @@ public:
virtual bool Expand (bool bFlag = true);
virtual bool IsExpanded (void) const;
virtual void SetEnabledState(bool bFlag);
-
- void SetFocus (bool bFlag);
+ virtual void GetFocus (void);
+ virtual void LoseFocus (void);
virtual void MouseMove(const MouseEvent& rEvent);
/** Empty implementation prevents forwarding to docking window.
@@ -115,17 +104,10 @@ private:
String msTitle;
bool mbExpanded;
bool mbFocused;
- bool mbMouseOver;
// Size of the bounding box that encloses the title string.
- Size maStringBox;
::std::auto_ptr<VirtualDevice> mpDevice;
bool mbIsExpandable;
- /** Set the mbMouseOver flag to the given value and paint the
- title bar accordingly.
- */
- void SetMouseOver (bool bFlag);
-
/** Return whether this TitleBar object has an expansion indicator
bitmap. It is safe to call GetExpansionIndicator() when this method
returns <FALSE/> but unnecessary.
@@ -159,8 +141,6 @@ private:
const Rectangle& rTextBox,
int nTitleBarWidth);
- void PaintWindowTitleBar (void);
- void PaintPanelControlTitle (void);
void PaintSubPanelHeadLineBar (void);
void PaintBackground (const Rectangle& rTextBox);
@@ -168,12 +148,6 @@ private:
/// Paint a focus indicator that encloses the given rectangle.
void PaintFocusIndicator (const Rectangle& rIndicatorBox);
- /** Paint a mouse over indicator. If the mouse is over the title
- bar than the text enclosed by the given rectangle is
- underlined.
- */
- void PaintMouseOverIndicator (const Rectangle& rIndicatorBox);
-
Rectangle PaintExpansionIndicator (const Rectangle& rTextBox);
void PaintText (const Rectangle& rTextBox);
diff --git a/sd/source/ui/inc/taskpane/TitledControl.hxx b/sd/source/ui/inc/taskpane/TitledControl.hxx
index a5a319ca5219..0aa63344fcd5 100644..100755
--- a/sd/source/ui/inc/taskpane/TitledControl.hxx
+++ b/sd/source/ui/inc/taskpane/TitledControl.hxx
@@ -45,7 +45,6 @@ class Window;
namespace sd { namespace toolpanel {
class ControlContainer;
-class ControlFactory;
/** This wrapper adds a title bar to a control. Both title bar and
control are child windows.
@@ -80,13 +79,6 @@ public:
const ClickHandler& rClickHandler,
TitleBar::TitleBarType eType);
- TitledControl (
- TreeNode* pParent,
- ::std::auto_ptr<ControlFactory> pControlFactory,
- const String& rTitle,
- const ClickHandler& rClickHandler,
- TitleBar::TitleBarType eType);
-
virtual ~TitledControl (void);
@@ -98,7 +90,6 @@ public:
virtual void Resize (void);
virtual void GetFocus (void);
- virtual void LoseFocus (void);
virtual void KeyInput (const KeyEvent& rEvent);
// void Select (bool bExpansionState);
@@ -108,8 +99,8 @@ public:
the control has not yet been created and the given flag is <TRUE/>
then the control is created.
*/
- TreeNode* GetControl (bool bCreate=true);
- const TreeNode* GetConstControl (bool bCreate=true) const;
+ TreeNode* GetControl (void);
+ const TreeNode* GetConstControl () const;
const String& GetTitle (void) const;
@@ -156,15 +147,8 @@ private:
String msTitle;
bool mbVisible;
void* mpUserData;
- ::std::auto_ptr<ControlFactory> mpControlFactory;
::std::auto_ptr<ClickHandler> mpClickHandler;
- /** Remember whether to toggle (true) the expansion state when the title
- bar is clicked on. When set to false then the control is always
- expanded.
- */
- bool mbExpansionModeIsToggle;
-
/// Do not use! Assignment operator is not supported.
const TitledControl& operator= (
const TitledControl& aDescriptor);
diff --git a/sd/source/ui/inc/taskpane/ToolPanel.hxx b/sd/source/ui/inc/taskpane/ToolPanel.hxx
deleted file mode 100644
index f2c573a21c06..000000000000
--- a/sd/source/ui/inc/taskpane/ToolPanel.hxx
+++ /dev/null
@@ -1,125 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef SD_TOOL_PANEL_HXX
-#define SD_TOOL_PANEL_HXX
-
-#include "taskpane/TaskPaneTreeNode.hxx"
-#include "taskpane/TitledControl.hxx"
-#include <vcl/ctrl.hxx>
-
-#include <vector>
-#include <memory>
-
-class Window;
-
-namespace sd { namespace toolpanel {
-
-class TaskPaneViewShell;
-class ControlFactory;
-
-/** This control is basically a layout manager for the vertical
- stacking of controls. At any one time there is exactly one of
- them visible. For the others only their title bar is shown.
-
- <p>Each control is independant of both other controls and the tool
- panel itself. To be usable by the tool panel they only have to be
- derived from the vcl Window class.</p>
-*/
-class ToolPanel
- : public Control,
- public TreeNode
-{
-public:
- /** Create a new tool panel with the given window as its parent.
- This will usually be a child window.
- */
- ToolPanel (
- ::Window* pParentWindow,
- TaskPaneViewShell& rViewShell);
-
- virtual ~ToolPanel (void);
-
- /** Append the given control to the end of the list of controls that are
- managed by the tool panel.
- @param pControlFactory
- Factory that provides the control on demand, typically when it
- is expanded the first time.
- @param rTitle
- The string that is displayed in the title bar above the control.
- @param nHelpId
- The help id is set at the title bar not the actual control.
- @param rClickHandler
- The click handler typically expands a control when the user has
- clicked on its title.
- */
- sal_uInt32 AddControl (
- ::std::auto_ptr<ControlFactory> pControlFactory,
- const String& rTitle,
- ULONG nHelpId,
- const TitledControl::ClickHandler& rClickHandler);
-
- virtual void Resize (void);
-
- virtual Size GetPreferredSize (void);
- virtual sal_Int32 GetPreferredWidth (sal_Int32 nHeight);
- virtual sal_Int32 GetPreferredHeight (sal_Int32 nWidth);
- virtual bool IsResizable (void);
- virtual ::Window* GetWindow (void);
-
- virtual void RequestResize (void);
-
- virtual TaskPaneShellManager* GetShellManager (void);
-
- virtual ::com::sun::star::uno::Reference<
- ::com::sun::star::accessibility::XAccessible> CreateAccessibleObject (
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::accessibility::XAccessible>& rxParent);
-
- using Window::GetWindow;
-
-protected:
- /** Initiate a rearrangement of the controls.
- */
- void ListHasChanged (void);
-
-private:
- TaskPaneViewShell& mrViewShell;
-
- /// Guard against recursive calls or Rearrange().
- bool mbRearrangeActive;
-
- /** Calculate position, size, and visibility of the controls.
- Call this method after the list of controls has changed.
- */
- void Rearrange (void);
-};
-
-
-
-} } // end of namespace ::sd::toolpanel
-
-#endif
diff --git a/sd/source/ui/inc/TaskPaneViewShell.hxx b/sd/source/ui/inc/taskpane/ToolPanelViewShell.hxx
index d9f432029dc2..5bd0cd877803 100644
--- a/sd/source/ui/inc/TaskPaneViewShell.hxx
+++ b/sd/source/ui/inc/taskpane/ToolPanelViewShell.hxx
@@ -2,10 +2,13 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2000, 2010 Oracle and/or its affiliates.
+ * Copyright 2008 by Sun Microsystems, Inc.
*
* OpenOffice.org - a multi-platform office productivity suite
*
+ * $RCSfile: ToolPanelViewShell.hxx,v $
+ * $Revision: 1.12 $
+ *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -25,30 +28,36 @@
*
************************************************************************/
-#ifndef SD_TOOLPANEL_TASK_PANE_VIEW_SHELL_HXX
-#define SD_TOOLPANEL_TASK_PANE_VIEW_SHELL_HXX
+#ifndef SD_TOOL_PANEL_VIEW_SHELL_HXX
+#define SD_TOOL_PANEL_VIEW_SHELL_HXX
#include "ViewShell.hxx"
#include "glob.hxx"
+#include "taskpane/PanelId.hxx"
#include "framework/FrameworkHelper.hxx"
#include <vcl/button.hxx>
#include <sfx2/shell.hxx>
#include <sfx2/viewfac.hxx>
#include <sfx2/dockwin.hxx>
-#include <memory>
#include <boost/shared_ptr.hpp>
+#include <boost/scoped_ptr.hpp>
class PopupMenu;
-namespace sd { namespace toolpanel {
+namespace com { namespace sun { namespace star { namespace ui {
+ class XUIElement;
+} } } }
+
+namespace sd {
+class PaneDockingWindow;
+namespace toolpanel {
class TaskPaneShellManager;
class TitleToolBox;
class TitleBar;
class TitledControl;
-class ToolPanel;
-
+class ToolPanelViewShell_Impl;
/** The tool panel is a view shell for some very specific reasons:
- It fits better into the concept of panes being docking windows whose
content, a view shell, can be exchanged on runtime.
@@ -58,34 +67,19 @@ class ToolPanel;
If interpreted as object bars this can be handled by the
ObjectBarManager of the ViewShell.
*/
-class TaskPaneViewShell
+class ToolPanelViewShell
: public ViewShell
{
public:
TYPEINFO();
- SFX_DECL_INTERFACE(SD_IF_SDTASKPANEVIEWSHELL)
+ SFX_DECL_INTERFACE(SD_IF_SDTOOLPANELSHELL)
- /** List of top level panels that can be shown in the task pane.
- */
- enum PanelId
- {
- PID__START = 0,
- PID_UNKNOWN = PID__START,
- PID_MASTER_PAGES,
- PID_LAYOUT,
- PID_TABLE_DESIGN,
- PID_ANIMATION_SCHEMES,
- PID_CUSTOM_ANIMATION,
- PID_SLIDE_TRANSITION,
- PID__END = PID_SLIDE_TRANSITION
- };
-
- TaskPaneViewShell (
+ ToolPanelViewShell (
SfxViewFrame* pFrame,
ViewShellBase& rViewShellBase,
::Window* pParentWindow,
FrameView* pFrameView);
- virtual ~TaskPaneViewShell (void);
+ virtual ~ToolPanelViewShell (void);
/** Register the SFX interfaces so that (some of) the controls can be
pushed as SFX shells on the shell stack and process slot calls and
@@ -108,37 +102,22 @@ public:
TaskPaneShellManager& GetSubShellManager (void) const;
- /** Called when a mouse button has been pressed but not yet
- released, this handler is used to show the popup menu of the
- title bar.
+ /** deactivates the given panel, bypassing the configuration controller. Only valid for tool panels which are
+ not under the drawing framework's control.
*/
- DECL_LINK(ToolboxClickHandler, ToolBox*);
- DECL_LINK(MenuSelectHandler, Menu*);
+ void ActivatePanel( const ::rtl::OUString& i_rPanelResourceURL );
- /** Make the specified panel visible and expand it.
- @param nId
- The id of the panel that is to be made visible.
+ /** deactivates the given panel, bypassing the configuration controller
*/
- void ShowPanel (const PanelId nId);
+ void DeactivatePanel( const ::rtl::OUString& i_rPanelResourceURL );
- /** Hide and collapse the specified panel.
- @param nId
- The id of the panel that is to hide.
- */
- void HidePanel (const PanelId nId);
-
- /** Expand the specified panel. Its visibility state is not modified.
- @param nId
- The id of the panel that is to expand.
- */
- void ExpandPanel (const PanelId nId);
-
- /** Collapse the specified panel. Its visibility state is not
- modified.
- @param nId
- The id of the panel that is to collapse.
+ /** Return a pointer to the docking window that is the parent or a
+ predecessor of the content window.
+ @return
+ When the view shell is not placed in a docking window, e.g. when
+ shown in the center pane, then <NULL?> is returned.
*/
- void CollapsePanel (const PanelId nId);
+ DockingWindow* GetDockingWindow (void);
virtual ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible>
@@ -150,13 +129,19 @@ public:
*/
virtual bool RelocateToParentWindow (::Window* pParentWindow);
-private:
- class Implementation;
- ::std::auto_ptr<Implementation> mpImpl;
+ /// returns <TRUE/> if and only if the given window is the panel anchor window of our ToolPanelDeck
+ bool IsPanelAnchorWindow( const ::Window& i_rWindow ) const;
- ::std::auto_ptr<ToolPanel> mpTaskPane;
+ /** creates an XUIElement for the given standard panel
+ */
+ ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement >
+ CreatePanelUIElement(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rDocFrame,
+ const ::rtl::OUString& i_rPanelResourceURL
+ );
- bool mbIsInitialized;
+private:
+ ::boost::scoped_ptr< ToolPanelViewShell_Impl > mpImpl;
::boost::shared_ptr<TaskPaneShellManager> mpSubShellManager;
@@ -165,10 +150,9 @@ private:
*/
USHORT mnMenuId;
- /** Create a popup menu. it contains three sections, one for
+ /** Create a popup menu. it contains two sections, one for
docking or un-docking the tool panel, one for toggling the
- visibility state of the tool panel items, and one for bringing
- up a customization dialog.
+ visibility state of the tool panel items.
@param bIsDocking
According to this flag one of the lock/unlock entries is
made disabled.
@@ -176,22 +160,6 @@ private:
::std::auto_ptr<PopupMenu> CreatePopupMenu (bool bIsDocking);
- /** Make sure that as long as there is at least one visible
- control there is exactly one expanded control.
- If the currently expanded control is being hidden then try to
- expand the control after the hidden one or if that does not
- exist expand the one before.
- */
- void EnsureExpandedControl (TitledControl* pHiddenControl);
-
- /** Return a pointer to the docking window that is the parent or a
- predecessor of the content window.
- @return
- When the view shell is not placed in a docking window, e.g. when
- shown in the center pane, then <NULL?> is returned.
- */
- DockingWindow* GetDockingWindow (void);
-
/** Initialize the task pane view shell if that has not yet been done
before. If mbIsInitialized is already set to <TRUE/> then this
method returns immediately.
@@ -202,25 +170,6 @@ private:
-/** This functor makes visible a panel in the task pane. It can be used
- with the FrameworkHelper to make a panel visible after an asynchonous
- update of the configuration, e.g. after switching to another view.
-*/
-class PanelActivation
-{
-public:
- /** Create a new object that, when its operator() method is called, will
- make the specified panel visible in the task pane that belongs to
- the application window specified by the given ViewShellBase.
- */
- PanelActivation (ViewShellBase& rBase, TaskPaneViewShell::PanelId nPanelId);
- void operator() (bool);
-private:
- ViewShellBase& mrBase;
- TaskPaneViewShell::PanelId mnPanelId;
-};
-
-
} } // end of namespace ::sd::toolpanel
#endif
diff --git a/sd/source/ui/inc/view/viewoverlaymanager.hxx b/sd/source/ui/inc/view/viewoverlaymanager.hxx
new file mode 100755
index 000000000000..0693d1faea7a
--- /dev/null
+++ b/sd/source/ui/inc/view/viewoverlaymanager.hxx
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: $
+ * $Revision: $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SD_VIEWOVERLAYMANAGER_HXX
+#define _SD_VIEWOVERLAYMANAGER_HXX
+
+#include <vcl/image.hxx>
+#include <svl/lstner.hxx>
+#include "EventMultiplexer.hxx"
+#include "ViewShellBase.hxx"
+#include "res_bmp.hrc"
+
+namespace sd
+{
+
+typedef std::vector< rtl::Reference< SmartTag > > ViewTagVector;
+
+class ViewOverlayManager : public SfxListener
+{
+public:
+ ViewOverlayManager( ViewShellBase& rViewShellBase );
+ virtual ~ViewOverlayManager();
+
+ void onZoomChanged();
+ void UpdateTags();
+
+ DECL_LINK(EventMultiplexerListener, tools::EventMultiplexerEvent*);
+ DECL_LINK(UpdateTagsHdl, void *);
+
+ bool CreateTags();
+ bool DisposeTags();
+
+ virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint);
+
+ static BitmapEx maLargeButtonImages[BMP_PLACEHOLDER_LARGE_END - BMP_PLACEHOLDER_LARGE_START];
+ static BitmapEx maSmallButtonImages[BMP_PLACEHOLDER_SMALL_END - BMP_PLACEHOLDER_SMALL_START];
+
+private:
+ void UpdateImages();
+
+ ViewShellBase& mrBase;
+ ULONG mnUpdateTagsEvent;
+
+ ViewTagVector maTagVector;
+};
+
+}
+
+#endif // _SD_VIEWOVERLAYMANAGER_HXX