blob: ad6bee69dd2033578dbcf43d31bfc87ae66c58aa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
/*************************************************************************
*
* 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: swevent.hxx,v $
* $Revision: 1.6 $
*
* 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 _SWEVENT_HXX
#define _SWEVENT_HXX
// #include *****************************************************************
#include <tools/solar.h>
#include <sfx2/sfx.hrc>
#define SW_EVENT_OBJECT_SELECT ( EVENT_APP_START + 0 )
#define SW_EVENT_START_INS_GLOSSARY ( EVENT_APP_START + 1 )
#define SW_EVENT_END_INS_GLOSSARY ( EVENT_APP_START + 2 )
#define SW_EVENT_MAIL_MERGE ( EVENT_APP_START + 3 )
#define SW_EVENT_FRM_KEYINPUT_ALPHA ( EVENT_APP_START + 4 )
#define SW_EVENT_FRM_KEYINPUT_NOALPHA ( EVENT_APP_START + 5 )
#define SW_EVENT_FRM_RESIZE ( EVENT_APP_START + 6 )
#define SW_EVENT_FRM_MOVE ( EVENT_APP_START + 7 )
#define SW_EVENT_PAGE_COUNT ( EVENT_APP_START + 8 )
#define SW_EVENT_MAIL_MERGE_END ( EVENT_APP_START + 9 )
#define SW_EVENT_FIELD_MERGE ( EVENT_APP_START + 10 )
#define SW_EVENT_FIELD_MERGE_FINISHED ( EVENT_APP_START + 11 )
#define SW_EVENT_LAYOUT_FINISHED ( EVENT_APP_START + 12 )
#define STR_SW_EVENT_PAGE_COUNT 0
#define STR_SW_EVENT_MAIL_MERGE 1
#define STR_SW_EVENT_MAIL_MERGE_END 2
#define STR_SW_EVENT_FIELD_MERGE 3
#define STR_SW_EVENT_FIELD_MERGE_FINISHED 4
#define STR_SW_EVENT_LAYOUT_FINISHED 5
#define STR_SW_EVENT_OBJECT_SELECT 6
#define STR_SW_EVENT_START_INS_GLOSSARY 7
#define STR_SW_EVENT_END_INS_GLOSSARY 8
#define STR_SW_EVENT_FRM_KEYINPUT_ALPHA 9
#define STR_SW_EVENT_FRM_KEYINPUT_NOALPHA 10
#define STR_SW_EVENT_FRM_RESIZE 11
#define STR_SW_EVENT_FRM_MOVE 12
class SwFrmFmt;
class SwFmtINetFmt;
class IMapObject;
// enum fuer Objecte die Events ins Basic oder in JavaScript Callen
enum SwCallEventObjectType
{
EVENT_OBJECT_NONE = 0, // Null ist garnichts
EVENT_OBJECT_IMAGE,
EVENT_OBJECT_INETATTR,
EVENT_OBJECT_URLITEM,
EVENT_OBJECT_IMAGEMAP
};
// structur fuer den Austausch zwischen UI/CORE
struct SwCallMouseEvent
{
SwCallEventObjectType eType;
union
{
// EVENT_OBJECT_IMAGE/EVENT_OBJECT_URLITEM
const SwFrmFmt* pFmt;
// EVENT_OBJECT_INETATTR
const SwFmtINetFmt* pINetAttr;
// EVENT_OBJECT_IMAGEMAP
struct
{
const SwFrmFmt* pFmt;
const IMapObject* pIMapObj;
} IMAP;
} PTR;
SwCallMouseEvent()
: eType( EVENT_OBJECT_NONE )
{ PTR.pFmt = 0; PTR.IMAP.pIMapObj = 0; }
void Set( SwCallEventObjectType eTyp, const SwFrmFmt* pFmt )
{ eType = eTyp; PTR.pFmt = pFmt; PTR.IMAP.pIMapObj = 0; }
void Set( const SwFrmFmt* pFmt, const IMapObject* pIMapObj )
{ eType = EVENT_OBJECT_IMAGEMAP; PTR.pFmt = pFmt; PTR.IMAP.pIMapObj = pIMapObj; }
void Set( const SwFmtINetFmt* pINetAttr )
{ eType = EVENT_OBJECT_INETATTR; PTR.pINetAttr = pINetAttr; PTR.IMAP.pIMapObj = 0; }
int operator==( const SwCallMouseEvent& rEvent ) const
{
return eType == rEvent.eType &&
PTR.pFmt == rEvent.PTR.pFmt &&
PTR.IMAP.pIMapObj == rEvent.PTR.IMAP.pIMapObj;
}
int operator!=( const SwCallMouseEvent& rEvent ) const
{ return !( *this == rEvent ); }
void Clear()
{ eType = EVENT_OBJECT_NONE; PTR.pFmt = 0; PTR.IMAP.pIMapObj = 0; }
BOOL HasEvent() const { return EVENT_OBJECT_NONE != eType; }
};
#endif
|