office-gobmx/vcl/inc/salwtype.hxx
Eike Rathke 876c619b94 new module i18nlangtag
Moved portions from module i18npool, all of former i18nisolang1 library
that now is i18nlangtag. Included are languagetag, isolang and mslangid.

This i18nlangtag code is now even used by module comphelper, so
disentangling i18npool and making this an own module was needed to not
create circular module dependencies.

Change-Id: Ib887c3d6dde667403fd22d382310ba5f1a9b0015
2013-04-05 19:10:48 +02:00

279 lines
10 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef _SV_SALWTYPE_HXX
#define _SV_SALWTYPE_HXX
#include <i18nlangtag/lang.h>
#include <tools/string.hxx>
#include <tools/solar.h>
class SalGraphics;
class SalFrame;
class SalObject;
class Window;
class FontSelectPattern;
// ------------
// - SalEvent -
// ------------
#define SALEVENT_MOUSEMOVE ((sal_uInt16)1)
#define SALEVENT_MOUSELEAVE ((sal_uInt16)2)
#define SALEVENT_MOUSEBUTTONDOWN ((sal_uInt16)3)
#define SALEVENT_MOUSEBUTTONUP ((sal_uInt16)4)
#define SALEVENT_KEYINPUT ((sal_uInt16)5)
#define SALEVENT_KEYUP ((sal_uInt16)6)
#define SALEVENT_KEYMODCHANGE ((sal_uInt16)7)
#define SALEVENT_PAINT ((sal_uInt16)8)
#define SALEVENT_RESIZE ((sal_uInt16)9)
#define SALEVENT_GETFOCUS ((sal_uInt16)10)
#define SALEVENT_LOSEFOCUS ((sal_uInt16)11)
#define SALEVENT_CLOSE ((sal_uInt16)12)
#define SALEVENT_SHUTDOWN ((sal_uInt16)13)
#define SALEVENT_SETTINGSCHANGED ((sal_uInt16)14)
#define SALEVENT_VOLUMECHANGED ((sal_uInt16)15)
#define SALEVENT_PRINTERCHANGED ((sal_uInt16)16)
#define SALEVENT_DISPLAYCHANGED ((sal_uInt16)17)
#define SALEVENT_FONTCHANGED ((sal_uInt16)18)
#define SALEVENT_DATETIMECHANGED ((sal_uInt16)19)
#define SALEVENT_KEYBOARDCHANGED ((sal_uInt16)20)
#define SALEVENT_WHEELMOUSE ((sal_uInt16)21)
#define SALEVENT_USEREVENT ((sal_uInt16)22)
#define SALEVENT_MOUSEACTIVATE ((sal_uInt16)23)
#define SALEVENT_EXTTEXTINPUT ((sal_uInt16)24)
#define SALEVENT_ENDEXTTEXTINPUT ((sal_uInt16)25)
#define SALEVENT_EXTTEXTINPUTPOS ((sal_uInt16)26)
#define SALEVENT_INPUTCONTEXTCHANGE ((sal_uInt16)27)
#define SALEVENT_MOVE ((sal_uInt16)28)
#define SALEVENT_MOVERESIZE ((sal_uInt16)29)
#define SALEVENT_CLOSEPOPUPS ((sal_uInt16)30)
#define SALEVENT_EXTERNALKEYINPUT ((sal_uInt16)31)
#define SALEVENT_EXTERNALKEYUP ((sal_uInt16)32)
#define SALEVENT_MENUCOMMAND ((sal_uInt16)33)
#define SALEVENT_MENUHIGHLIGHT ((sal_uInt16)34)
#define SALEVENT_MENUACTIVATE ((sal_uInt16)35)
#define SALEVENT_MENUDEACTIVATE ((sal_uInt16)36)
#define SALEVENT_EXTERNALMOUSEMOVE ((sal_uInt16)37)
#define SALEVENT_EXTERNALMOUSEBUTTONDOWN ((sal_uInt16)38)
#define SALEVENT_EXTERNALMOUSEBUTTONUP ((sal_uInt16)39)
#define SALEVENT_INPUTLANGUAGECHANGE ((sal_uInt16)40)
#define SALEVENT_SHOWDIALOG ((sal_uInt16)41)
#define SALEVENT_MENUBUTTONCOMMAND ((sal_uInt16)42)
#define SALEVENT_SURROUNDINGTEXTREQUEST ((sal_uInt16)43)
#define SALEVENT_SURROUNDINGTEXTSELECTIONCHANGE ((sal_uInt16)44)
#define SALEVENT_STARTRECONVERSION ((sal_uInt16)45)
#define SALEVENT_EXTERNALZOOM ((sal_uInt16)46)
#define SALEVENT_EXTERNALSCROLL ((sal_uInt16)47)
// MOUSELEAVE must send, when the pointer leave the client area and
// the mouse is not captured
// MOUSEMOVE, MOUSELEAVE, MOUSEBUTTONDOWN and MOUSEBUTTONUP
// MAC: Ctrl+Button is MOUSE_RIGHT
struct SalMouseEvent
{
sal_uLong mnTime; // Time in ms, when event is created
long mnX; // X-Position (Pixel, TopLeft-Output)
long mnY; // Y-Position (Pixel, TopLeft-Output)
sal_uInt16 mnButton; // 0-MouseMove/MouseLeave, MOUSE_LEFT, MOUSE_RIGHT, MOUSE_MIDDLE
sal_uInt16 mnCode; // SV-Modifiercode (KEY_SHIFT|KEY_MOD1|KEY_MOD2|MOUSE_LEFT|MOUSE_MIDDLE|MOUSE_RIGHT)
};
// KEYINPUT and KEYUP
struct SalKeyEvent
{
sal_uLong mnTime; // Time in ms, when event is created
sal_uInt16 mnCode; // SV-KeyCode (KEY_xxx | KEY_SHIFT | KEY_MOD1 | KEY_MOD2)
sal_uInt16 mnCharCode; // SV-CharCode
sal_uInt16 mnRepeat; // Repeat-Count (KeyInputs-1)
};
// MENUEVENT
struct SalMenuEvent
{
sal_uInt16 mnId; // Menu item ID
void* mpMenu; // pointer to VCL menu (class Menu)
SalMenuEvent() : mnId( 0 ), mpMenu( NULL ) {}
SalMenuEvent( sal_uInt16 i_nId, void* i_pMenu )
: mnId( i_nId ), mpMenu( i_pMenu ) {}
};
// KEYMODCHANGE
struct SalKeyModEvent
{
sal_uLong mnTime; // Time in ms, when event is created
sal_uInt16 mnCode; // SV-Modifiercode (KEY_SHIFT|KEY_MOD1|KEY_MOD2)
sal_uInt16 mnModKeyCode; // extended Modifier (MODKEY_LEFT,MODKEY_RIGHT,MODKEY_PRESS,MODKEY_RELEASE)
};
// PAINT
struct SalPaintEvent
{
long mnBoundX; // BoundRect - X
long mnBoundY; // BoundRect - Y
long mnBoundWidth; // BoundRect - Width
long mnBoundHeight; // BoundRect - Height
bool mbImmediateUpdate; // set to true to force an immediate update
SalPaintEvent( long x, long y, long w, long h, bool bImmediate = false ) :
mnBoundX( x ), mnBoundY( y ),
mnBoundWidth( w ), mnBoundHeight( h ),
mbImmediateUpdate( bImmediate )
{}
};
// USEREVENT
// pEvent == pData
// WHEELMOUSE
#define SAL_WHEELMOUSE_EVENT_PAGESCROLL ((sal_uLong)0xFFFFFFFF)
struct SalWheelMouseEvent
{
sal_uLong mnTime; // Time in ms, when event is created
long mnX; // X-Position (Pixel, TopLeft-Output)
long mnY; // Y-Position (Pixel, TopLeft-Output)
long mnDelta; // Number of rotations
long mnNotchDelta; // Number of fixed rotations
sal_uLong mnScrollLines; // Actual number of lines to scroll
sal_uInt16 mnCode; // SV-Modifiercode (KEY_SHIFT|KEY_MOD1|KEY_MOD2|MOUSE_LEFT|MOUSE_MIDDLE|MOUSE_RIGHT)
sal_Bool mbHorz; // Horizontal
sal_Bool mbDeltaIsPixel; // delta value is a pixel value (on mac)
SalWheelMouseEvent()
: mnTime( 0 ), mnX( 0 ), mnY( 0 ), mnDelta( 0 ), mnNotchDelta( 0 ), mnScrollLines( 0 ), mnCode( 0 ), mbHorz( sal_False ), mbDeltaIsPixel( sal_False )
{}
};
// MOUSEACTIVATE
struct SalMouseActivateEvent
{
long mnX; // X-Position (Pixel, TopLeft-Output)
long mnY; // Y-Position (Pixel, TopLeft-Output)
};
// EXTTEXTINPUT
struct SalExtTextInputEvent
{
sal_uLong mnTime; // Time in ms, when event is created
OUString maText; // Text
const sal_uInt16* mpTextAttr; // Text-Attribute
sal_uLong mnCursorPos; // Cursor-Position
sal_uLong mnDeltaStart; // Start-Position of last change
sal_uInt8 mnCursorFlags; // EXTTEXTINPUT_CURSOR_xxx
sal_Bool mbOnlyCursor; // sal_True: Only Cursor-Position has been changed
};
// EXTTEXTINPUTPOS
struct SalExtTextInputPosEvent
{
long mnX; // Cursor-X-Position to upper left corner of frame
long mnY; // Cursor-Y-Position to upper left corner of frame
long mnWidth; // Cursor-Width in Pixel
long mnHeight; // Cursor-Height in Pixel
long mnExtWidth; // Width of the PreEdit area
bool mbVertical; // true if in vertical mode
};
// INPUTCONTEXTCHANGE
struct SalInputContextChangeEvent
{
LanguageType meLanguage; // new language
};
// SURROUNDINGTEXTREQUEST
struct SalSurroundingTextRequestEvent
{
OUString maText; // Text
sal_uLong mnStart; // The beginning index of selected range
sal_uLong mnEnd; // The end index of selected range
};
// SURROUNDINGTEXTSELECTIONCHANGE
struct SalSurroundingTextSelectionChangeEvent
{
sal_uLong mnStart; // The beginning index of selected range
sal_uLong mnEnd; // The end index of selected range
};
// ------------------
// - SalFrame-Types -
// ------------------
typedef long (*SALFRAMEPROC)( Window* pInst, SalFrame* pFrame,
sal_uInt16 nEvent, const void* pEvent );
// --------------------
// - SalObject-Events -
// --------------------
#define SALOBJ_EVENT_GETFOCUS ((sal_uInt16)1)
#define SALOBJ_EVENT_LOSEFOCUS ((sal_uInt16)2)
#define SALOBJ_EVENT_TOTOP ((sal_uInt16)3)
#define SALOBJ_EVENT_COUNT ((sal_uInt16)4)
// ------------------
// - SalObject-Types -
// ------------------
typedef long (*SALOBJECTPROC)( void* pInst, SalObject* pObject,
sal_uInt16 nEvent, const void* pEvent );
// -----------------
// - SalFrameState -
// -----------------
struct SalFrameState
{
sal_uLong mnMask;
long mnX;
long mnY;
long mnWidth;
long mnHeight;
long mnMaximizedX;
long mnMaximizedY;
long mnMaximizedWidth;
long mnMaximizedHeight;
sal_uLong mnState;
};
// -------------------
// - SalInputContext -
// -------------------
// Have to match DEFINEs in inputctx.hxx, as these are not converted
#define SAL_INPUTCONTEXT_TEXT ((sal_uLong)0x00000001)
#define SAL_INPUTCONTEXT_EXTTEXTINPUT ((sal_uLong)0x00000002)
#define SAL_INPUTCONTEXT_EXTTEXTINPUT_ON ((sal_uLong)0x00000004)
#define SAL_INPUTCONTEXT_EXTTEXTINPUT_OFF ((sal_uLong)0x00000008)
#define SAL_INPUTCONTEXT_CHANGELANGUAGE ((sal_uLong)0x00000010)
struct SalInputContext
{
FontSelectPattern* mpFont;
LanguageType meLanguage;
sal_uLong mnOptions;
};
typedef void (*SALTIMERPROC)();
#endif // _SV_SALWTYPE_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */