summaryrefslogtreecommitdiffstats
path: root/sd/source/ui/inc
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/inc')
-rwxr-xr-xsd/source/ui/inc/sdtreelb.hxx16
-rwxr-xr-xsd/source/ui/inc/sdxfer.hxx32
2 files changed, 46 insertions, 2 deletions
diff --git a/sd/source/ui/inc/sdtreelb.hxx b/sd/source/ui/inc/sdtreelb.hxx
index 9681e9ba4230..478a7eb5e550 100755
--- a/sd/source/ui/inc/sdtreelb.hxx
+++ b/sd/source/ui/inc/sdtreelb.hxx
@@ -40,6 +40,8 @@
#include <svl/urlbmk.hxx>
#include <tools/ref.hxx>
#include "sdxfer.hxx"
+#include <boost/scoped_ptr.hpp>
+#include <boost/function.hpp>
class SdDrawDocument;
class SfxMedium;
@@ -51,6 +53,8 @@ class SdPage;
class SvLBoxEntry;
namespace sd {
+class ViewShell;
+
class DrawDocShell;
#ifndef SV_DECL_DRAW_DOC_SHELL_DEFINED
#define SV_DECL_DRAW_DOC_SHELL_DEFINED
@@ -104,7 +108,6 @@ public:
::sd::DrawDocShell& mrDocShell;
NavigatorDragType meDragType;
const ::com::sun::star::uno::Any maTreeListBoxData;
-
SD_DLLPRIVATE virtual ~SdPageObjsTransferable();
SD_DLLPRIVATE virtual void AddSupportedFormats();
@@ -219,6 +222,17 @@ public:
using SvLBox::ExecuteDrop;
using SvTreeListBox::SelectEntry;
+
+ /** Return the view shell that is linked to the given doc shell.
+ Call this method when the there is a chance that the doc shell
+ has been disconnected from the view shell (but not the other
+ way round.)
+ @return
+ May return <NULL/> when the link between view shell and
+ doc shell has been severed.
+ */
+ static ::sd::ViewShell* GetViewShellForDocShell (::sd::DrawDocShell &rDocShell);
+
private:
/** This flag controls whether all shapes are shown as children of pages
and group shapes or only the named shapes.
diff --git a/sd/source/ui/inc/sdxfer.hxx b/sd/source/ui/inc/sdxfer.hxx
index f29b1d28936a..9ba1ce2cf7de 100755
--- a/sd/source/ui/inc/sdxfer.hxx
+++ b/sd/source/ui/inc/sdxfer.hxx
@@ -89,12 +89,41 @@ public:
// SfxListener
virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
+ virtual void DragFinished( sal_Int8 nDropAction );
+ SdDrawDocument* GetSourceDoc (void) const;
+
+ /** User data objects can be used to store information temporarily
+ at the transferable. The slide sorter uses this to store
+ previews of the slides that are referenced by the
+ transferable.
+ */
+ class UserData {public:virtual~UserData(){}};
+
+ /** Add a user data object. When it was added before (and not
+ removed) then this call is ignored.
+ */
+ void AddUserData (const ::boost::shared_ptr<UserData>& rpData);
+
+ /** Remove a previously added user data object. When the object
+ was never added or removed before then this call is ignored.
+ */
+ void RemoveUserData (const ::boost::shared_ptr<UserData>& rpData);
+
+ /** Return the number of user data objects.
+ */
+ sal_Int32 GetUserDataCount (void) const;
+
+ /** Return the specified user data object. When the index is not
+ valid, ie not in the range [0,count) then an empty pointer is
+ returned.
+ */
+ ::boost::shared_ptr<UserData> GetUserData (const sal_Int32 nIndex) const;
+
protected:
virtual void AddSupportedFormats();
virtual sal_Bool GetData( const ::com::sun::star::datatransfer::DataFlavor& rFlavor );
virtual sal_Bool WriteObject( SotStorageStreamRef& rxOStm, void* pUserObject, sal_uInt32 nUserObjectId, const ::com::sun::star::datatransfer::DataFlavor& rFlavor );
- virtual void DragFinished( sal_Int8 nDropAction );
virtual void ObjectReleased();
virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& rId ) throw( ::com::sun::star::uno::RuntimeException );
@@ -124,6 +153,7 @@ private:
sal_Bool mbPageTransferable : 1;
sal_Bool mbPageTransferablePersistent : 1;
bool mbIsUnoObj : 1;
+ ::std::vector<boost::shared_ptr<UserData> > maUserData;
// not available
SdTransferable();