Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
11 : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : * contributor license agreements. See the NOTICE file distributed
13 : * with this work for additional information regarding copyright
14 : * ownership. The ASF licenses this file to you under the Apache
15 : * License, Version 2.0 (the "License"); you may not use this file
16 : * except in compliance with the License. You may obtain a copy of
17 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : */
19 :
20 : #ifndef SC_USERDAT_HXX
21 : #define SC_USERDAT_HXX
22 :
23 : #include <svx/svdobj.hxx>
24 : #include <svtools/imap.hxx>
25 : #include "global.hxx"
26 : #include "address.hxx"
27 :
28 :
29 : //-------------------------------------------------------------------------
30 :
31 : #define SC_DRAWLAYER 0x30334353 // Inventor: "SC30"
32 :
33 : // Object-Ids fuer UserData
34 : #define SC_UD_OBJDATA 1
35 : #define SC_UD_IMAPDATA 2
36 : #define SC_UD_MACRODATA 3
37 :
38 : //-------------------------------------------------------------------------
39 :
40 : class ScDrawObjFactory
41 : {
42 : DECL_LINK( MakeUserData, SdrObjFactory * );
43 : public:
44 : ScDrawObjFactory();
45 : ~ScDrawObjFactory();
46 : };
47 :
48 : //-------------------------------------------------------------------------
49 :
50 17 : class ScDrawObjData : public SdrObjUserData
51 : {
52 : public:
53 : enum Type { CellNote, ValidationCircle, DetectiveArrow, DrawingObject };
54 :
55 : ScAddress maStart;
56 : ScAddress maEnd;
57 : Point maStartOffset;
58 : Point maEndOffset;
59 : Type meType;
60 : Rectangle maLastRect;
61 :
62 : explicit ScDrawObjData();
63 :
64 : private:
65 : virtual ScDrawObjData* Clone( SdrObject* pObj ) const;
66 : };
67 :
68 : //-------------------------------------------------------------------------
69 :
70 : class ScIMapInfo : public SdrObjUserData
71 : {
72 : ImageMap aImageMap;
73 :
74 : public:
75 : ScIMapInfo();
76 : ScIMapInfo( const ImageMap& rImageMap );
77 : ScIMapInfo( const ScIMapInfo& rIMapInfo );
78 : virtual ~ScIMapInfo();
79 :
80 : virtual SdrObjUserData* Clone( SdrObject* pObj ) const;
81 :
82 0 : void SetImageMap( const ImageMap& rIMap ) { aImageMap = rIMap; }
83 0 : const ImageMap& GetImageMap() const { return aImageMap; }
84 : };
85 :
86 : //-------------------------------------------------------------------------
87 :
88 0 : class ScMacroInfo : public SdrObjUserData
89 : {
90 : public:
91 : ScMacroInfo();
92 : virtual ~ScMacroInfo();
93 :
94 : virtual SdrObjUserData* Clone( SdrObject* pObj ) const;
95 :
96 0 : void SetMacro( const rtl::OUString& rMacro ) { maMacro = rMacro; }
97 0 : const rtl::OUString& GetMacro() const { return maMacro; }
98 :
99 0 : void SetHlink( const rtl::OUString& rHlink ) { maHlink = rHlink; }
100 0 : const rtl::OUString& GetHlink() const { return maHlink; }
101 :
102 : private:
103 : rtl::OUString maMacro;
104 : rtl::OUString maHlink;
105 : };
106 :
107 : //-------------------------------------------------------------------------
108 :
109 : #endif
110 :
111 :
112 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|