1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski *************************************************************/
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski #ifndef _VCL_CMDEVT_HXX
25*b1cdbd2cSJim Jagielski #define _VCL_CMDEVT_HXX
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielski #include <tools/gen.hxx>
28*b1cdbd2cSJim Jagielski #include <vcl/sv.h>
29*b1cdbd2cSJim Jagielski #include <vcl/dllapi.h>
30*b1cdbd2cSJim Jagielski #include <vcl/keycod.hxx>
31*b1cdbd2cSJim Jagielski #include <vcl/font.hxx>
32*b1cdbd2cSJim Jagielski
33*b1cdbd2cSJim Jagielski // ---------------------------
34*b1cdbd2cSJim Jagielski // - CommandExtTextInputData -
35*b1cdbd2cSJim Jagielski // ---------------------------
36*b1cdbd2cSJim Jagielski
37*b1cdbd2cSJim Jagielski #define EXTTEXTINPUT_ATTR_GRAYWAVELINE ((sal_uInt16)0x0100)
38*b1cdbd2cSJim Jagielski #define EXTTEXTINPUT_ATTR_UNDERLINE ((sal_uInt16)0x0200)
39*b1cdbd2cSJim Jagielski #define EXTTEXTINPUT_ATTR_BOLDUNDERLINE ((sal_uInt16)0x0400)
40*b1cdbd2cSJim Jagielski #define EXTTEXTINPUT_ATTR_DOTTEDUNDERLINE ((sal_uInt16)0x0800)
41*b1cdbd2cSJim Jagielski #define EXTTEXTINPUT_ATTR_DASHDOTUNDERLINE ((sal_uInt16)0x1000)
42*b1cdbd2cSJim Jagielski #define EXTTEXTINPUT_ATTR_HIGHLIGHT ((sal_uInt16)0x2000)
43*b1cdbd2cSJim Jagielski #define EXTTEXTINPUT_ATTR_REDTEXT ((sal_uInt16)0x4000)
44*b1cdbd2cSJim Jagielski #define EXTTEXTINPUT_ATTR_HALFTONETEXT ((sal_uInt16)0x8000)
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim Jagielski #define EXTTEXTINPUT_CURSOR_INVISIBLE ((sal_uInt16)0x0001)
47*b1cdbd2cSJim Jagielski #define EXTTEXTINPUT_CURSOR_OVERWRITE ((sal_uInt16)0x0002)
48*b1cdbd2cSJim Jagielski
49*b1cdbd2cSJim Jagielski class VCL_DLLPUBLIC CommandExtTextInputData
50*b1cdbd2cSJim Jagielski {
51*b1cdbd2cSJim Jagielski private:
52*b1cdbd2cSJim Jagielski XubString maText;
53*b1cdbd2cSJim Jagielski sal_uInt16* mpTextAttr;
54*b1cdbd2cSJim Jagielski xub_StrLen mnCursorPos;
55*b1cdbd2cSJim Jagielski xub_StrLen mnDeltaStart;
56*b1cdbd2cSJim Jagielski xub_StrLen mnOldTextLen;
57*b1cdbd2cSJim Jagielski sal_uInt16 mnCursorFlags;
58*b1cdbd2cSJim Jagielski sal_Bool mbOnlyCursor;
59*b1cdbd2cSJim Jagielski
60*b1cdbd2cSJim Jagielski public:
61*b1cdbd2cSJim Jagielski CommandExtTextInputData();
62*b1cdbd2cSJim Jagielski CommandExtTextInputData( const XubString& rText,
63*b1cdbd2cSJim Jagielski const sal_uInt16* pTextAttr,
64*b1cdbd2cSJim Jagielski xub_StrLen nCursorPos,
65*b1cdbd2cSJim Jagielski sal_uInt16 nCursorFlags,
66*b1cdbd2cSJim Jagielski xub_StrLen nDeltaStart,
67*b1cdbd2cSJim Jagielski xub_StrLen nOldTextLen,
68*b1cdbd2cSJim Jagielski sal_Bool bOnlyCursor );
69*b1cdbd2cSJim Jagielski CommandExtTextInputData( const CommandExtTextInputData& rData );
70*b1cdbd2cSJim Jagielski ~CommandExtTextInputData();
71*b1cdbd2cSJim Jagielski
GetText() const72*b1cdbd2cSJim Jagielski const XubString& GetText() const { return maText; }
GetTextAttr() const73*b1cdbd2cSJim Jagielski const sal_uInt16* GetTextAttr() const { return mpTextAttr; }
74*b1cdbd2cSJim Jagielski sal_uInt16 GetCharTextAttr( sal_uInt16 nIndex ) const;
GetCursorPos() const75*b1cdbd2cSJim Jagielski xub_StrLen GetCursorPos() const { return mnCursorPos; }
IsCursorVisible() const76*b1cdbd2cSJim Jagielski sal_Bool IsCursorVisible() const { return (mnCursorFlags & EXTTEXTINPUT_CURSOR_INVISIBLE) == 0; }
IsCursorOverwrite() const77*b1cdbd2cSJim Jagielski sal_Bool IsCursorOverwrite() const { return (mnCursorFlags & EXTTEXTINPUT_CURSOR_OVERWRITE) != 0; }
GetCursorFlags() const78*b1cdbd2cSJim Jagielski sal_uInt16 GetCursorFlags() const { return mnCursorFlags; }
GetDeltaStart() const79*b1cdbd2cSJim Jagielski xub_StrLen GetDeltaStart() const { return mnDeltaStart; }
GetOldTextLen() const80*b1cdbd2cSJim Jagielski xub_StrLen GetOldTextLen() const { return mnOldTextLen; }
IsOnlyCursorChanged() const81*b1cdbd2cSJim Jagielski sal_Bool IsOnlyCursorChanged() const { return mbOnlyCursor; }
82*b1cdbd2cSJim Jagielski };
83*b1cdbd2cSJim Jagielski
GetCharTextAttr(sal_uInt16 nIndex) const84*b1cdbd2cSJim Jagielski inline sal_uInt16 CommandExtTextInputData::GetCharTextAttr( sal_uInt16 nIndex ) const
85*b1cdbd2cSJim Jagielski {
86*b1cdbd2cSJim Jagielski if ( mpTextAttr && (nIndex < maText.Len()) )
87*b1cdbd2cSJim Jagielski return mpTextAttr[nIndex];
88*b1cdbd2cSJim Jagielski else
89*b1cdbd2cSJim Jagielski return 0;
90*b1cdbd2cSJim Jagielski }
91*b1cdbd2cSJim Jagielski
92*b1cdbd2cSJim Jagielski // ---------------------------
93*b1cdbd2cSJim Jagielski // - CommandInputContextData -
94*b1cdbd2cSJim Jagielski // ---------------------------
95*b1cdbd2cSJim Jagielski
96*b1cdbd2cSJim Jagielski class VCL_DLLPUBLIC CommandInputContextData
97*b1cdbd2cSJim Jagielski {
98*b1cdbd2cSJim Jagielski private:
99*b1cdbd2cSJim Jagielski LanguageType meLanguage;
100*b1cdbd2cSJim Jagielski
101*b1cdbd2cSJim Jagielski public:
102*b1cdbd2cSJim Jagielski CommandInputContextData();
103*b1cdbd2cSJim Jagielski CommandInputContextData( LanguageType eLang );
104*b1cdbd2cSJim Jagielski
GetLanguage() const105*b1cdbd2cSJim Jagielski LanguageType GetLanguage() const { return meLanguage; }
106*b1cdbd2cSJim Jagielski };
107*b1cdbd2cSJim Jagielski
CommandInputContextData()108*b1cdbd2cSJim Jagielski inline CommandInputContextData::CommandInputContextData()
109*b1cdbd2cSJim Jagielski {
110*b1cdbd2cSJim Jagielski meLanguage = LANGUAGE_DONTKNOW;
111*b1cdbd2cSJim Jagielski }
112*b1cdbd2cSJim Jagielski
CommandInputContextData(LanguageType eLang)113*b1cdbd2cSJim Jagielski inline CommandInputContextData::CommandInputContextData( LanguageType eLang )
114*b1cdbd2cSJim Jagielski {
115*b1cdbd2cSJim Jagielski meLanguage = eLang;
116*b1cdbd2cSJim Jagielski }
117*b1cdbd2cSJim Jagielski
118*b1cdbd2cSJim Jagielski // --------------------
119*b1cdbd2cSJim Jagielski // - CommandWheelData -
120*b1cdbd2cSJim Jagielski // --------------------
121*b1cdbd2cSJim Jagielski
122*b1cdbd2cSJim Jagielski #define COMMAND_WHEEL_SCROLL ((sal_uInt16)0x0001)
123*b1cdbd2cSJim Jagielski #define COMMAND_WHEEL_ZOOM ((sal_uInt16)0x0002)
124*b1cdbd2cSJim Jagielski #define COMMAND_WHEEL_DATAZOOM ((sal_uInt16)0x0004)
125*b1cdbd2cSJim Jagielski
126*b1cdbd2cSJim Jagielski #define COMMAND_WHEEL_PAGESCROLL ((sal_uLong)0xFFFFFFFF)
127*b1cdbd2cSJim Jagielski
128*b1cdbd2cSJim Jagielski class VCL_DLLPUBLIC CommandWheelData
129*b1cdbd2cSJim Jagielski {
130*b1cdbd2cSJim Jagielski private:
131*b1cdbd2cSJim Jagielski long mnDelta;
132*b1cdbd2cSJim Jagielski long mnNotchDelta;
133*b1cdbd2cSJim Jagielski sal_uLong mnLines;
134*b1cdbd2cSJim Jagielski sal_uInt16 mnMode;
135*b1cdbd2cSJim Jagielski sal_uInt16 mnCode;
136*b1cdbd2cSJim Jagielski sal_Bool mbHorz;
137*b1cdbd2cSJim Jagielski sal_Bool mbDeltaIsPixel;
138*b1cdbd2cSJim Jagielski
139*b1cdbd2cSJim Jagielski public:
140*b1cdbd2cSJim Jagielski CommandWheelData();
141*b1cdbd2cSJim Jagielski CommandWheelData( long nWheelDelta, long nWheelNotchDelta,
142*b1cdbd2cSJim Jagielski sal_uLong nScrollLines,
143*b1cdbd2cSJim Jagielski sal_uInt16 nWheelMode, sal_uInt16 nKeyModifier,
144*b1cdbd2cSJim Jagielski sal_Bool bHorz = sal_False, sal_Bool bDeltaIsPixel = sal_False );
145*b1cdbd2cSJim Jagielski
GetDelta() const146*b1cdbd2cSJim Jagielski long GetDelta() const { return mnDelta; }
GetNotchDelta() const147*b1cdbd2cSJim Jagielski long GetNotchDelta() const { return mnNotchDelta; }
GetScrollLines() const148*b1cdbd2cSJim Jagielski sal_uLong GetScrollLines() const { return mnLines; }
IsHorz() const149*b1cdbd2cSJim Jagielski sal_Bool IsHorz() const { return mbHorz; }
IsDeltaPixel() const150*b1cdbd2cSJim Jagielski sal_Bool IsDeltaPixel() const { return mbDeltaIsPixel; }
151*b1cdbd2cSJim Jagielski
GetMode() const152*b1cdbd2cSJim Jagielski sal_uInt16 GetMode() const { return mnMode; }
153*b1cdbd2cSJim Jagielski
GetModifier() const154*b1cdbd2cSJim Jagielski sal_uInt16 GetModifier() const
155*b1cdbd2cSJim Jagielski { return (mnCode & (KEY_SHIFT | KEY_MOD1 | KEY_MOD2)); }
IsShift() const156*b1cdbd2cSJim Jagielski sal_Bool IsShift() const
157*b1cdbd2cSJim Jagielski { return ((mnCode & KEY_SHIFT) != 0); }
IsMod1() const158*b1cdbd2cSJim Jagielski sal_Bool IsMod1() const
159*b1cdbd2cSJim Jagielski { return ((mnCode & KEY_MOD1) != 0); }
IsMod2() const160*b1cdbd2cSJim Jagielski sal_Bool IsMod2() const
161*b1cdbd2cSJim Jagielski { return ((mnCode & KEY_MOD2) != 0); }
IsMod3() const162*b1cdbd2cSJim Jagielski sal_Bool IsMod3() const
163*b1cdbd2cSJim Jagielski { return ((mnCode & KEY_MOD3) != 0); }
164*b1cdbd2cSJim Jagielski };
165*b1cdbd2cSJim Jagielski
CommandWheelData()166*b1cdbd2cSJim Jagielski inline CommandWheelData::CommandWheelData()
167*b1cdbd2cSJim Jagielski {
168*b1cdbd2cSJim Jagielski mnDelta = 0;
169*b1cdbd2cSJim Jagielski mnNotchDelta = 0;
170*b1cdbd2cSJim Jagielski mnLines = 0;
171*b1cdbd2cSJim Jagielski mnMode = 0;
172*b1cdbd2cSJim Jagielski mnCode = 0;
173*b1cdbd2cSJim Jagielski mbHorz = sal_False;
174*b1cdbd2cSJim Jagielski mbDeltaIsPixel = sal_False;
175*b1cdbd2cSJim Jagielski }
176*b1cdbd2cSJim Jagielski
CommandWheelData(long nWheelDelta,long nWheelNotchDelta,sal_uLong nScrollLines,sal_uInt16 nWheelMode,sal_uInt16 nKeyModifier,sal_Bool bHorz,sal_Bool bDeltaIsPixel)177*b1cdbd2cSJim Jagielski inline CommandWheelData::CommandWheelData( long nWheelDelta, long nWheelNotchDelta,
178*b1cdbd2cSJim Jagielski sal_uLong nScrollLines,
179*b1cdbd2cSJim Jagielski sal_uInt16 nWheelMode, sal_uInt16 nKeyModifier,
180*b1cdbd2cSJim Jagielski sal_Bool bHorz, sal_Bool bDeltaIsPixel )
181*b1cdbd2cSJim Jagielski {
182*b1cdbd2cSJim Jagielski mnDelta = nWheelDelta;
183*b1cdbd2cSJim Jagielski mnNotchDelta = nWheelNotchDelta;
184*b1cdbd2cSJim Jagielski mnLines = nScrollLines;
185*b1cdbd2cSJim Jagielski mnMode = nWheelMode;
186*b1cdbd2cSJim Jagielski mnCode = nKeyModifier;
187*b1cdbd2cSJim Jagielski mbHorz = bHorz;
188*b1cdbd2cSJim Jagielski mbDeltaIsPixel = bDeltaIsPixel;
189*b1cdbd2cSJim Jagielski }
190*b1cdbd2cSJim Jagielski
191*b1cdbd2cSJim Jagielski // ---------------------
192*b1cdbd2cSJim Jagielski // - CommandScrollData -
193*b1cdbd2cSJim Jagielski // ---------------------
194*b1cdbd2cSJim Jagielski
195*b1cdbd2cSJim Jagielski class VCL_DLLPUBLIC CommandScrollData
196*b1cdbd2cSJim Jagielski {
197*b1cdbd2cSJim Jagielski private:
198*b1cdbd2cSJim Jagielski long mnDeltaX;
199*b1cdbd2cSJim Jagielski long mnDeltaY;
200*b1cdbd2cSJim Jagielski
201*b1cdbd2cSJim Jagielski public:
202*b1cdbd2cSJim Jagielski CommandScrollData();
203*b1cdbd2cSJim Jagielski CommandScrollData( long nDeltaX, long nDeltaY );
204*b1cdbd2cSJim Jagielski
GetDeltaX() const205*b1cdbd2cSJim Jagielski long GetDeltaX() const { return mnDeltaX; }
GetDeltaY() const206*b1cdbd2cSJim Jagielski long GetDeltaY() const { return mnDeltaY; }
207*b1cdbd2cSJim Jagielski };
208*b1cdbd2cSJim Jagielski
CommandScrollData()209*b1cdbd2cSJim Jagielski inline CommandScrollData::CommandScrollData()
210*b1cdbd2cSJim Jagielski {
211*b1cdbd2cSJim Jagielski mnDeltaX = 0;
212*b1cdbd2cSJim Jagielski mnDeltaY = 0;
213*b1cdbd2cSJim Jagielski }
214*b1cdbd2cSJim Jagielski
CommandScrollData(long nDeltaX,long nDeltaY)215*b1cdbd2cSJim Jagielski inline CommandScrollData::CommandScrollData( long nDeltaX, long nDeltaY )
216*b1cdbd2cSJim Jagielski {
217*b1cdbd2cSJim Jagielski mnDeltaX = nDeltaX;
218*b1cdbd2cSJim Jagielski mnDeltaY = nDeltaY;
219*b1cdbd2cSJim Jagielski }
220*b1cdbd2cSJim Jagielski
221*b1cdbd2cSJim Jagielski // --------------------
222*b1cdbd2cSJim Jagielski // - CommandVoiceData -
223*b1cdbd2cSJim Jagielski // --------------------
224*b1cdbd2cSJim Jagielski
225*b1cdbd2cSJim Jagielski enum DictationCommandType
226*b1cdbd2cSJim Jagielski {
227*b1cdbd2cSJim Jagielski VOICECOMMANDTYPE_DICTATION,
228*b1cdbd2cSJim Jagielski VOICECOMMANDTYPE_CONTROL
229*b1cdbd2cSJim Jagielski };
230*b1cdbd2cSJim Jagielski
231*b1cdbd2cSJim Jagielski class VCL_DLLPUBLIC CommandVoiceData
232*b1cdbd2cSJim Jagielski {
233*b1cdbd2cSJim Jagielski private:
234*b1cdbd2cSJim Jagielski XubString maText;
235*b1cdbd2cSJim Jagielski sal_uInt16 mnCommand;
236*b1cdbd2cSJim Jagielski DictationCommandType meType;
237*b1cdbd2cSJim Jagielski
238*b1cdbd2cSJim Jagielski public:
239*b1cdbd2cSJim Jagielski CommandVoiceData();
240*b1cdbd2cSJim Jagielski CommandVoiceData( const XubString& rStr,
241*b1cdbd2cSJim Jagielski DictationCommandType eType,
242*b1cdbd2cSJim Jagielski sal_uInt16 nCommand );
243*b1cdbd2cSJim Jagielski
GetText() const244*b1cdbd2cSJim Jagielski const XubString& GetText() const { return maText; }
GetCommand() const245*b1cdbd2cSJim Jagielski sal_uInt16 GetCommand() const { return mnCommand; }
GetType() const246*b1cdbd2cSJim Jagielski DictationCommandType GetType() const { return meType; }
247*b1cdbd2cSJim Jagielski };
248*b1cdbd2cSJim Jagielski
CommandVoiceData()249*b1cdbd2cSJim Jagielski inline CommandVoiceData::CommandVoiceData()
250*b1cdbd2cSJim Jagielski {
251*b1cdbd2cSJim Jagielski meType = VOICECOMMANDTYPE_DICTATION;
252*b1cdbd2cSJim Jagielski mnCommand = 0;
253*b1cdbd2cSJim Jagielski }
254*b1cdbd2cSJim Jagielski
CommandVoiceData(const XubString & rStr,DictationCommandType eType,sal_uInt16 nCommand)255*b1cdbd2cSJim Jagielski inline CommandVoiceData::CommandVoiceData( const XubString& rStr,
256*b1cdbd2cSJim Jagielski DictationCommandType eType,
257*b1cdbd2cSJim Jagielski sal_uInt16 nCommand ) :
258*b1cdbd2cSJim Jagielski maText( rStr ),
259*b1cdbd2cSJim Jagielski mnCommand( nCommand ),
260*b1cdbd2cSJim Jagielski meType( eType )
261*b1cdbd2cSJim Jagielski {
262*b1cdbd2cSJim Jagielski }
263*b1cdbd2cSJim Jagielski
264*b1cdbd2cSJim Jagielski // ---------------------
265*b1cdbd2cSJim Jagielski // - CommandModKeyData -
266*b1cdbd2cSJim Jagielski // ---------------------
267*b1cdbd2cSJim Jagielski
268*b1cdbd2cSJim Jagielski class VCL_DLLPUBLIC CommandModKeyData
269*b1cdbd2cSJim Jagielski {
270*b1cdbd2cSJim Jagielski private:
271*b1cdbd2cSJim Jagielski sal_uInt16 mnCode;
272*b1cdbd2cSJim Jagielski
273*b1cdbd2cSJim Jagielski public:
274*b1cdbd2cSJim Jagielski CommandModKeyData();
275*b1cdbd2cSJim Jagielski CommandModKeyData( sal_uInt16 nCode );
276*b1cdbd2cSJim Jagielski
IsShift() const277*b1cdbd2cSJim Jagielski sal_Bool IsShift() const { return (mnCode & MODKEY_SHIFT) ? sal_True : sal_False; }
IsMod1() const278*b1cdbd2cSJim Jagielski sal_Bool IsMod1() const { return (mnCode & MODKEY_MOD1) ? sal_True : sal_False; }
IsMod2() const279*b1cdbd2cSJim Jagielski sal_Bool IsMod2() const { return (mnCode & MODKEY_MOD2) ? sal_True : sal_False; }
IsMod3() const280*b1cdbd2cSJim Jagielski sal_Bool IsMod3() const { return (mnCode & MODKEY_MOD3) ? sal_True : sal_False; }
281*b1cdbd2cSJim Jagielski
IsLeftShift() const282*b1cdbd2cSJim Jagielski sal_Bool IsLeftShift() const { return (mnCode & MODKEY_LSHIFT) ? sal_True : sal_False; }
IsLeftMod1() const283*b1cdbd2cSJim Jagielski sal_Bool IsLeftMod1() const { return (mnCode & MODKEY_LMOD1) ? sal_True : sal_False; }
IsLeftMod2() const284*b1cdbd2cSJim Jagielski sal_Bool IsLeftMod2() const { return (mnCode & MODKEY_LMOD2) ? sal_True : sal_False; }
IsLeftMod3() const285*b1cdbd2cSJim Jagielski sal_Bool IsLeftMod3() const { return (mnCode & MODKEY_LMOD3) ? sal_True : sal_False; }
286*b1cdbd2cSJim Jagielski
IsRightShift() const287*b1cdbd2cSJim Jagielski sal_Bool IsRightShift() const { return (mnCode & MODKEY_RSHIFT) ? sal_True : sal_False; }
IsRightMod1() const288*b1cdbd2cSJim Jagielski sal_Bool IsRightMod1() const { return (mnCode & MODKEY_RMOD1) ? sal_True : sal_False; }
IsRightMod2() const289*b1cdbd2cSJim Jagielski sal_Bool IsRightMod2() const { return (mnCode & MODKEY_RMOD2) ? sal_True : sal_False; }
IsRightMod3() const290*b1cdbd2cSJim Jagielski sal_Bool IsRightMod3() const { return (mnCode & MODKEY_RMOD3) ? sal_True : sal_False; }
291*b1cdbd2cSJim Jagielski };
292*b1cdbd2cSJim Jagielski
CommandModKeyData()293*b1cdbd2cSJim Jagielski inline CommandModKeyData::CommandModKeyData()
294*b1cdbd2cSJim Jagielski {
295*b1cdbd2cSJim Jagielski mnCode = 0L;
296*b1cdbd2cSJim Jagielski }
297*b1cdbd2cSJim Jagielski
CommandModKeyData(sal_uInt16 nCode)298*b1cdbd2cSJim Jagielski inline CommandModKeyData::CommandModKeyData( sal_uInt16 nCode )
299*b1cdbd2cSJim Jagielski {
300*b1cdbd2cSJim Jagielski mnCode = nCode;
301*b1cdbd2cSJim Jagielski }
302*b1cdbd2cSJim Jagielski
303*b1cdbd2cSJim Jagielski // --------------------
304*b1cdbd2cSJim Jagielski // - CommanDialogData -
305*b1cdbd2cSJim Jagielski // --------------------
306*b1cdbd2cSJim Jagielski
307*b1cdbd2cSJim Jagielski #define SHOWDIALOG_ID_PREFERENCES 1
308*b1cdbd2cSJim Jagielski #define SHOWDIALOG_ID_ABOUT 2
309*b1cdbd2cSJim Jagielski
310*b1cdbd2cSJim Jagielski class VCL_DLLPUBLIC CommandDialogData
311*b1cdbd2cSJim Jagielski {
312*b1cdbd2cSJim Jagielski int m_nDialogId;
313*b1cdbd2cSJim Jagielski public:
CommandDialogData(int nDialogId=SHOWDIALOG_ID_PREFERENCES)314*b1cdbd2cSJim Jagielski CommandDialogData( int nDialogId = SHOWDIALOG_ID_PREFERENCES )
315*b1cdbd2cSJim Jagielski : m_nDialogId( nDialogId )
316*b1cdbd2cSJim Jagielski {}
317*b1cdbd2cSJim Jagielski
GetDialogId() const318*b1cdbd2cSJim Jagielski int GetDialogId() const { return m_nDialogId; }
319*b1cdbd2cSJim Jagielski };
320*b1cdbd2cSJim Jagielski
321*b1cdbd2cSJim Jagielski // --------------
322*b1cdbd2cSJim Jagielski // Media Commands
323*b1cdbd2cSJim Jagielski // --------------
324*b1cdbd2cSJim Jagielski
325*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_CHANNEL_DOWN ((sal_Int16)1) // Decrement the channel value, for example, for a TV or radio tuner.
326*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_CHANNEL_UP ((sal_Int16)2) // Increment the channel value, for example, for a TV or radio tuner.
327*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_NEXTTRACK ((sal_Int16)3) // Go to next media track/slide.
328*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_PAUSE ((sal_Int16)4) // Pause. If already paused, take no further action. This is a direct PAUSE command that has no state.
329*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_PLAY ((sal_Int16)5) // Begin playing at the current position. If already paused, it will resume. This is a direct PLAY command that has no state.
330*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_PLAY_PAUSE ((sal_Int16)6) // Play or pause playback.
331*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_PREVIOUSTRACK ((sal_Int16)7) // Go to previous media track/slide.
332*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_RECORD ((sal_Int16)8) // Begin recording the current stream.
333*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_REWIND ((sal_Int16)9)// Go backward in a stream at a higher rate of speed.
334*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_STOP ((sal_Int16)10)// Stop playback.
335*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_MIC_ON_OFF_TOGGLE ((sal_Int16)11)// Toggle the microphone.
336*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_MICROPHONE_VOLUME_DOWN ((sal_Int16)12)// Increase microphone volume.
337*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_MICROPHONE_VOLUME_MUTE ((sal_Int16)13)// Mute the microphone.
338*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_MICROPHONE_VOLUME_UP ((sal_Int16)14)// Decrease microphone volume.
339*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_VOLUME_DOWN ((sal_Int16)15)// Lower the volume.
340*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_VOLUME_MUTE ((sal_Int16)16)// Mute the volume.
341*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_VOLUME_UP ((sal_Int16)17)// Raise the volume.
342*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_MENU ((sal_Int16)18)// Button Menu pressed.
343*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_MENU_HOLD ((sal_Int16)19)// Button Menu (long) pressed.
344*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_PLAY_HOLD ((sal_Int16)20)// Button Play (long) pressed.
345*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_NEXTTRACK_HOLD ((sal_Int16)21)// Button Right holding pressed.
346*b1cdbd2cSJim Jagielski #define MEDIA_COMMAND_PREVIOUSTRACK_HOLD ((sal_Int16)22)// Button Left holding pressed.
347*b1cdbd2cSJim Jagielski
348*b1cdbd2cSJim Jagielski
349*b1cdbd2cSJim Jagielski // ------------------------------
350*b1cdbd2cSJim Jagielski // - CommandSelectionChangeData -
351*b1cdbd2cSJim Jagielski // ------------------------------
352*b1cdbd2cSJim Jagielski
353*b1cdbd2cSJim Jagielski class VCL_DLLPUBLIC CommandSelectionChangeData
354*b1cdbd2cSJim Jagielski {
355*b1cdbd2cSJim Jagielski private:
356*b1cdbd2cSJim Jagielski sal_uLong mnStart;
357*b1cdbd2cSJim Jagielski sal_uLong mnEnd;
358*b1cdbd2cSJim Jagielski
359*b1cdbd2cSJim Jagielski public:
360*b1cdbd2cSJim Jagielski CommandSelectionChangeData();
361*b1cdbd2cSJim Jagielski CommandSelectionChangeData( sal_uLong nStart, sal_uLong nEnd );
362*b1cdbd2cSJim Jagielski
GetStart() const363*b1cdbd2cSJim Jagielski sal_uLong GetStart() const { return mnStart; }
GetEnd() const364*b1cdbd2cSJim Jagielski sal_uLong GetEnd() const { return mnEnd; }
365*b1cdbd2cSJim Jagielski };
366*b1cdbd2cSJim Jagielski
CommandSelectionChangeData()367*b1cdbd2cSJim Jagielski inline CommandSelectionChangeData::CommandSelectionChangeData()
368*b1cdbd2cSJim Jagielski {
369*b1cdbd2cSJim Jagielski mnStart = mnEnd = 0;
370*b1cdbd2cSJim Jagielski }
371*b1cdbd2cSJim Jagielski
CommandSelectionChangeData(sal_uLong nStart,sal_uLong nEnd)372*b1cdbd2cSJim Jagielski inline CommandSelectionChangeData::CommandSelectionChangeData( sal_uLong nStart,
373*b1cdbd2cSJim Jagielski sal_uLong nEnd )
374*b1cdbd2cSJim Jagielski {
375*b1cdbd2cSJim Jagielski mnStart = nStart;
376*b1cdbd2cSJim Jagielski mnEnd = nEnd;
377*b1cdbd2cSJim Jagielski }
378*b1cdbd2cSJim Jagielski
379*b1cdbd2cSJim Jagielski // ----------------
380*b1cdbd2cSJim Jagielski // - CommandEvent -
381*b1cdbd2cSJim Jagielski // ----------------
382*b1cdbd2cSJim Jagielski
383*b1cdbd2cSJim Jagielski #define COMMAND_CONTEXTMENU ((sal_uInt16)1)
384*b1cdbd2cSJim Jagielski #define COMMAND_STARTDRAG ((sal_uInt16)2)
385*b1cdbd2cSJim Jagielski #define COMMAND_WHEEL ((sal_uInt16)3)
386*b1cdbd2cSJim Jagielski #define COMMAND_STARTAUTOSCROLL ((sal_uInt16)4)
387*b1cdbd2cSJim Jagielski #define COMMAND_AUTOSCROLL ((sal_uInt16)5)
388*b1cdbd2cSJim Jagielski #define COMMAND_VOICE ((sal_uInt16)6)
389*b1cdbd2cSJim Jagielski #define COMMAND_STARTEXTTEXTINPUT ((sal_uInt16)7)
390*b1cdbd2cSJim Jagielski #define COMMAND_EXTTEXTINPUT ((sal_uInt16)8)
391*b1cdbd2cSJim Jagielski #define COMMAND_ENDEXTTEXTINPUT ((sal_uInt16)9)
392*b1cdbd2cSJim Jagielski #define COMMAND_INPUTCONTEXTCHANGE ((sal_uInt16)10)
393*b1cdbd2cSJim Jagielski #define COMMAND_CURSORPOS ((sal_uInt16)11)
394*b1cdbd2cSJim Jagielski #define COMMAND_PASTESELECTION ((sal_uInt16)12)
395*b1cdbd2cSJim Jagielski #define COMMAND_MODKEYCHANGE ((sal_uInt16)13)
396*b1cdbd2cSJim Jagielski #define COMMAND_HANGUL_HANJA_CONVERSION ((sal_uInt16)14)
397*b1cdbd2cSJim Jagielski #define COMMAND_INPUTLANGUAGECHANGE ((sal_uInt16)15)
398*b1cdbd2cSJim Jagielski #define COMMAND_SHOWDIALOG ((sal_uInt16)16)
399*b1cdbd2cSJim Jagielski #define COMMAND_MEDIA ((sal_uInt16)17)
400*b1cdbd2cSJim Jagielski #define COMMAND_SELECTIONCHANGE ((sal_uInt16)18)
401*b1cdbd2cSJim Jagielski #define COMMAND_PREPARERECONVERSION ((sal_uInt16)19)
402*b1cdbd2cSJim Jagielski #define COMMAND_USER ((sal_uInt16)4096)
403*b1cdbd2cSJim Jagielski
404*b1cdbd2cSJim Jagielski class VCL_DLLPUBLIC CommandEvent
405*b1cdbd2cSJim Jagielski {
406*b1cdbd2cSJim Jagielski private:
407*b1cdbd2cSJim Jagielski Point maPos;
408*b1cdbd2cSJim Jagielski void* mpData;
409*b1cdbd2cSJim Jagielski sal_uInt16 mnCommand;
410*b1cdbd2cSJim Jagielski sal_Bool mbMouseEvent;
411*b1cdbd2cSJim Jagielski
412*b1cdbd2cSJim Jagielski public:
413*b1cdbd2cSJim Jagielski CommandEvent();
414*b1cdbd2cSJim Jagielski CommandEvent( const Point& rMousePos, sal_uInt16 nCmd,
415*b1cdbd2cSJim Jagielski sal_Bool bMEvt = sal_False, const void* pCmdData = NULL );
416*b1cdbd2cSJim Jagielski
GetCommand() const417*b1cdbd2cSJim Jagielski sal_uInt16 GetCommand() const { return mnCommand; }
GetMousePosPixel() const418*b1cdbd2cSJim Jagielski const Point& GetMousePosPixel() const { return maPos; }
IsMouseEvent() const419*b1cdbd2cSJim Jagielski sal_Bool IsMouseEvent() const { return mbMouseEvent; }
GetData() const420*b1cdbd2cSJim Jagielski void* GetData() const { return mpData; }
421*b1cdbd2cSJim Jagielski
422*b1cdbd2cSJim Jagielski const CommandExtTextInputData* GetExtTextInputData() const;
423*b1cdbd2cSJim Jagielski const CommandInputContextData* GetInputContextChangeData() const;
424*b1cdbd2cSJim Jagielski const CommandWheelData* GetWheelData() const;
425*b1cdbd2cSJim Jagielski const CommandScrollData* GetAutoScrollData() const;
426*b1cdbd2cSJim Jagielski const CommandVoiceData* GetVoiceData() const;
427*b1cdbd2cSJim Jagielski const CommandModKeyData* GetModKeyData() const;
428*b1cdbd2cSJim Jagielski const CommandDialogData* GetDialogData() const;
429*b1cdbd2cSJim Jagielski sal_Int16 GetMediaCommand() const;
430*b1cdbd2cSJim Jagielski const CommandSelectionChangeData* GetSelectionChangeData() const;
431*b1cdbd2cSJim Jagielski };
432*b1cdbd2cSJim Jagielski
CommandEvent()433*b1cdbd2cSJim Jagielski inline CommandEvent::CommandEvent()
434*b1cdbd2cSJim Jagielski {
435*b1cdbd2cSJim Jagielski mpData = NULL;
436*b1cdbd2cSJim Jagielski mnCommand = 0;
437*b1cdbd2cSJim Jagielski mbMouseEvent = sal_False;
438*b1cdbd2cSJim Jagielski }
439*b1cdbd2cSJim Jagielski
CommandEvent(const Point & rMousePos,sal_uInt16 nCmd,sal_Bool bMEvt,const void * pCmdData)440*b1cdbd2cSJim Jagielski inline CommandEvent::CommandEvent( const Point& rMousePos,
441*b1cdbd2cSJim Jagielski sal_uInt16 nCmd, sal_Bool bMEvt, const void* pCmdData ) :
442*b1cdbd2cSJim Jagielski maPos( rMousePos )
443*b1cdbd2cSJim Jagielski {
444*b1cdbd2cSJim Jagielski mpData = (void*)pCmdData;
445*b1cdbd2cSJim Jagielski mnCommand = nCmd;
446*b1cdbd2cSJim Jagielski mbMouseEvent = bMEvt;
447*b1cdbd2cSJim Jagielski }
448*b1cdbd2cSJim Jagielski
GetExtTextInputData() const449*b1cdbd2cSJim Jagielski inline const CommandExtTextInputData* CommandEvent::GetExtTextInputData() const
450*b1cdbd2cSJim Jagielski {
451*b1cdbd2cSJim Jagielski if ( mnCommand == COMMAND_EXTTEXTINPUT )
452*b1cdbd2cSJim Jagielski return (const CommandExtTextInputData*)mpData;
453*b1cdbd2cSJim Jagielski else
454*b1cdbd2cSJim Jagielski return NULL;
455*b1cdbd2cSJim Jagielski }
456*b1cdbd2cSJim Jagielski
GetInputContextChangeData() const457*b1cdbd2cSJim Jagielski inline const CommandInputContextData* CommandEvent::GetInputContextChangeData() const
458*b1cdbd2cSJim Jagielski {
459*b1cdbd2cSJim Jagielski if ( mnCommand == COMMAND_INPUTCONTEXTCHANGE )
460*b1cdbd2cSJim Jagielski return (const CommandInputContextData*)mpData;
461*b1cdbd2cSJim Jagielski else
462*b1cdbd2cSJim Jagielski return NULL;
463*b1cdbd2cSJim Jagielski }
464*b1cdbd2cSJim Jagielski
GetWheelData() const465*b1cdbd2cSJim Jagielski inline const CommandWheelData* CommandEvent::GetWheelData() const
466*b1cdbd2cSJim Jagielski {
467*b1cdbd2cSJim Jagielski if ( mnCommand == COMMAND_WHEEL )
468*b1cdbd2cSJim Jagielski return (const CommandWheelData*)mpData;
469*b1cdbd2cSJim Jagielski else
470*b1cdbd2cSJim Jagielski return NULL;
471*b1cdbd2cSJim Jagielski }
472*b1cdbd2cSJim Jagielski
GetAutoScrollData() const473*b1cdbd2cSJim Jagielski inline const CommandScrollData* CommandEvent::GetAutoScrollData() const
474*b1cdbd2cSJim Jagielski {
475*b1cdbd2cSJim Jagielski if ( mnCommand == COMMAND_AUTOSCROLL )
476*b1cdbd2cSJim Jagielski return (const CommandScrollData*)mpData;
477*b1cdbd2cSJim Jagielski else
478*b1cdbd2cSJim Jagielski return NULL;
479*b1cdbd2cSJim Jagielski }
480*b1cdbd2cSJim Jagielski
GetVoiceData() const481*b1cdbd2cSJim Jagielski inline const CommandVoiceData* CommandEvent::GetVoiceData() const
482*b1cdbd2cSJim Jagielski {
483*b1cdbd2cSJim Jagielski if ( mnCommand == COMMAND_VOICE )
484*b1cdbd2cSJim Jagielski return (const CommandVoiceData*)mpData;
485*b1cdbd2cSJim Jagielski else
486*b1cdbd2cSJim Jagielski return NULL;
487*b1cdbd2cSJim Jagielski }
488*b1cdbd2cSJim Jagielski
GetModKeyData() const489*b1cdbd2cSJim Jagielski inline const CommandModKeyData* CommandEvent::GetModKeyData() const
490*b1cdbd2cSJim Jagielski {
491*b1cdbd2cSJim Jagielski if( mnCommand == COMMAND_MODKEYCHANGE )
492*b1cdbd2cSJim Jagielski return (const CommandModKeyData*)mpData;
493*b1cdbd2cSJim Jagielski else
494*b1cdbd2cSJim Jagielski return NULL;
495*b1cdbd2cSJim Jagielski }
496*b1cdbd2cSJim Jagielski
GetDialogData() const497*b1cdbd2cSJim Jagielski inline const CommandDialogData* CommandEvent::GetDialogData() const
498*b1cdbd2cSJim Jagielski {
499*b1cdbd2cSJim Jagielski if( mnCommand == COMMAND_SHOWDIALOG )
500*b1cdbd2cSJim Jagielski return (const CommandDialogData*)mpData;
501*b1cdbd2cSJim Jagielski else
502*b1cdbd2cSJim Jagielski return NULL;
503*b1cdbd2cSJim Jagielski }
504*b1cdbd2cSJim Jagielski
GetMediaCommand() const505*b1cdbd2cSJim Jagielski inline sal_Int16 CommandEvent::GetMediaCommand() const
506*b1cdbd2cSJim Jagielski {
507*b1cdbd2cSJim Jagielski if( mnCommand == COMMAND_MEDIA )
508*b1cdbd2cSJim Jagielski return *(const sal_Int16*)(mpData);
509*b1cdbd2cSJim Jagielski else
510*b1cdbd2cSJim Jagielski return 0;
511*b1cdbd2cSJim Jagielski }
512*b1cdbd2cSJim Jagielski
GetSelectionChangeData() const513*b1cdbd2cSJim Jagielski inline const CommandSelectionChangeData* CommandEvent::GetSelectionChangeData() const
514*b1cdbd2cSJim Jagielski {
515*b1cdbd2cSJim Jagielski if( mnCommand == COMMAND_SELECTIONCHANGE )
516*b1cdbd2cSJim Jagielski return (const CommandSelectionChangeData*)mpData;
517*b1cdbd2cSJim Jagielski else
518*b1cdbd2cSJim Jagielski return NULL;
519*b1cdbd2cSJim Jagielski }
520*b1cdbd2cSJim Jagielski
521*b1cdbd2cSJim Jagielski
522*b1cdbd2cSJim Jagielski #endif // _VCL_CMDEVT_HXX
523